Is this intended or is it a bug?
Intended, because an interface is not necessarily an Object. It might also be a COM object or a C++ object, and the typeinfo may not be available for them. (I think, maybe it would be from the .di file at least, but it is a different root anyway).
If you cast to Object then do typeid, you'll get the typeinfo you expect. (or null if it isn't a D Object)