Decimal types don't exist in JSON. If you need decimals, you definitely should encode them as strings. As JSONschema exists to document JSON, it should be agnostic to that. You can if you wish, provide format information in the format field, which is not prescriptive.
Neither binary nor decimal floating point types exist in the JSON spec. The JSON spec does not give an explicit internal representation for floating points, implementations are free to use decimal types internally, if they wish to do so. The JSON spec merely specifies what a "number" is at the grammar level.
Having said that most implementations don't use decimal floating points to represent these.
That is correct, but JSONschema does and there is an implicit behavioural difference introduced by the existence of the MultipleOf filter when you're dealing with floats versus integers that can't simply be elided away or excused by the lack of a distinction in the underlying type system.
The point is JSONschema could take a stand and say for example, "this filter will always fail when the operand is not the number representation of an exact integer".
No they aren't. The JSON spec says implementation is up to the engine and de facto JSON numbers are parsed as ieee754 on just about every platform I can think of.