I thought I had seen this work before and now I think I see the issue.
What if before you did the fetch of the 'n' collection you added a prefetchpath and relation to the 1 side - which would of course be to the ABSTRACT one.....then when it lazy loaded it would not do polymorphic I bet.
MyNSideEntityCollection NSideColl = new NSideColl();
PrefetchPath prefetch = new PrefetchPath(EntityType.MyNSideEntity);
prefetch.Add(MyNSideEntity.PrefetchPath1SideEntity);
RerlationCollection relations - new RelationCollection();
relations.Add(MyNSideEntity.Relations.PrefetchPath1SideEntityUsingPKey);
NSideColl.GetMulti(null, 0, null, relations, prefetch);
NSideColl[1].Some1SideHierarchyEntity.Fields['SomeInheritedFieldThatShouldBeThere']
This may force it to load the abstract one.....ugh. What I want it to do is to prefetch that relationship (because I need it for every record), but do it polymorphically....how would I set that up?