How can I find all blueprints of a certain type inside a umap?

In my case I have a list of .umap paths and from each one I want to extract the blueprints (of a certain class type) that are inside it at the top level.

I started by using LoadPackage() to instantiate a UPackage* and then using TObjectIterator<UBlueprint> to find objects, but this isn’t yielding anything for me where the object’s GetOuter() is the UPackage.

It also seems like LoadPackage actually “opens” the .umap and all the assets inside it which is time-consuming. Is there a more “light weight” method to check the content of the umap?