Make float.__(i/r)floordiv__ return an int

Your (2) yields a difference in a direct type-check (direct as including isinstance and type/__class__, and excluding duck-typing), so it’s just that it propagates other API (= duck-typed) differences. But it doesn’t add any one situation, expression or behavior to the list of these differences.

Your (1) is a limitation, not a feature you can rely upon. Why do I say that ? If you really need factual points, the fact that direct and exact comparison between floats is advised against in the doc, so testing a+1 == a is as close as it gets from an undocumented behavior.
What’s more, the size of the mantissa and exponent sizes are not constant and not documented, they can be accessed in sys.float_info and change depending on the install, the system, the implementation and who knows what else (as far as the documentation extends), so the values on which the equation is true will change based upon these sizes. If a given value can stop satisfying that equation when moved to another computer, it’s not much more breaking a change if we make it an int and never satisfy the equation ever.

So, these wouldn’t be documented, reliable behavior differences between “fints” (why not) and ints.
I’ll stick with .hex() and direct typechecks.