A little more examination:
The inner class high-level Java support is largely based on const_missing. The object proxying the outer Java class JRuby425 has a class hierarchy that looks like:
(some singleton class) < ConcreteJavaProxy < JavaProxy < Object
The constant lookup logic in RubyModule.getConstantInner() traverses this hierarchy looking for Float. None of the first three members of the hierarchy has Float, but Object does. There's logic that specifically checks for conditions like this (finding a toplevel constant when you asked for it in the context of a specific module) and you'll get that warning message above, but the end result is that const_missing is never called on the JRuby425 proxy since the constant was found in its class hierarchy.
I'll try to look at this more after work to see if there's a good way of getting around or patching this problem...