I realise defined? with a constant works just as well but this is about API consistency.
I'd expect const_get & const_defined? to support the same syntax ("Object::Foo").
I also noticed this inconsistency. It seems very odd to have different behavior for Module#const_get and Module#const_defined?. I hope it's possible to get this change into 2.0.0. It's been a while since I've written any C but I'd be happy to contribute failing specs if that would be helpful.
This issue was solved with changeset r44194.
Robert, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
object.c: nested path const_defined?
object.c (rb_mod_const_defined): support nested class path as
well as const_get. [Feature #7414]