I guess because trait bounds implicitly also require that the type implements any super-traits, they make any methods from the super-traits visible as well. However, it seems surprising, and possibly unintended, that this would apply to inacessible super-traits as well.
I think these methods are not supported to be used. The reason why the generic function with bounds allows you to call the method is because there are special rules for such functions that bring methods into scope. This is mostly useful if you have a <T: qualified::path::to::Trait> kind of bound in order to allow method syntax for the methods of the trait qualified::path::to::Trait inside of the function without the need for a use statement. This feature is - admitted - a bit rough and potentially weird, I remember seeing other quirks of it in the past, too (I can't think of the details right now). As you can see, it does seem to include supertraits, too.
The Sealed trait in ryu is a public-in-private trait. I don't think the trait author is aware that the methods can still be called as you demonstrated and in any case they are, as I already mentioned, most likely not supposed to be called and subject to change in the future in minor version updates. Note, that the methods aren't documented anywhere either. Sometimes we're providing actually public but doc(hidden) API in some crates, too, (for macro-internal usage), and this API isn't supposed to be used either and subject to change, indicated just by the fact that it doesn't appear in documentation at all.
Then, for each candidate type T , search for a visible method with a receiver of that type in the following places:
T 's inherent methods (methods implemented directly on T ).
Any of the methods provided by a visible trait implemented by T . If T is a type parameter, methods provided by trait bounds on T are looked up first. Then all remaining methods in scope are looked up.
The use of "visible" there does suggest that this behaviour with inaccessible supertraits is unintended.