toIndexedSeq takes a type parameter (I'm not sure why - it appears unncessary) which means the result of toIndexedSeq is not known when it is attempting to infer the Ordering. toSeq doesn't take one, it's known to be Seq[Int].
The other looks like some quirk of partial application. It's unlikely there's any fundamental reason, only an implementation imperfection.
Why does `toSeq` compile, but not `toIndexedSeq`?
Why does `h` compile, but `f` does not?