The issue was caused by intermediate DerivedMesh being created with scene's Simplify settings taken into account. This is what happens when one area makes implicit decisions based on whether passed Scene pointer is not NULL. Made it so ignoring simplification serttings is an explicit flag, which makes it easier to follow what's going on.