Reflection и ядро .NET созданы для быстрого использования интерфейсов. Таким образом, Type.GetInterfaces возвращает все интерфейсы, на которые может отвечать тип, «выравнивая» иерархию интерфейсов в процессе.
Если вы хотите предугадать происхождение этих интерфейсов, вам также потребуется вызывать GetInterfaces для каждого интерфейса. Ярлыка нет, потому что иерархия интерфейсов не имеет большого значения для среды CLR.