This isn’t a bug, just a choice made when the patterns system was designed. It’s similar to how the fraction 1/2 isn’t picked up by the number pattern, and allows authors to have finer control over how they handle inputs.
Here’s a pattern we often use in lessons to pick up a wide variety of numbers:
For what it’s worth, a naming convention of “number” for things that aren’t numbers or vice versa is a very misleading convention.
Also for what it’s worth, that lenghty pattern you shared - and thank you for that too - fails for a number of different examples.
Considering all that, it’s not at all clear to me the purpose of this. It doesn’t result in reliable error handling and doesn’t provide fine grained control since it’s not reliable. Perhaps you could elaborate on the intent here, I think it might help others since this seems to be a fairly fundamental issue with how to treat almost every instance of number handing in patterns.