It's a little early to proclaim a best practice here ... particularly when the actual workflow and performance characteristics of your application are unknown (perhaps unknowable at this point).
In general, we think it is better if each VM loads what it needs rather than relying on a master VM to provide for subordinate VMs. The instinct here is that you broke it up into separate VMs so they could execute their own responsibilities ... so let them do it. The master becomes the coordinator of its child VMs and stays out of their implementation details as much as possible.
We intend to release a new sample called "TempHire", rooted in "Hot Towel(ette)", in the next month or so that may offer some guidance. The timing is probably not right for you. But you can find the code on GitHub) and I will summarize (and oversimplify) the features of that sample that seem pertinent to your question:
The master VM is associated with the root entity (in your case, a Parent).
The master VM receives a "datacontext" (a Unit-of-Work [UoW]) that is dedicated to that root entity's workflow and labeled with the root entity's ID.
A "Unit of Work Manager" creates and tracks UoWs by root entity ID. If you ask for the UoW for Parent-1, it will either give you the one it's tracking or create a new one for you.
This makes it easy for child VMs to share data context with the master and with each other in a fairly decoupled way. The master doesn't have to pass the UoW along through a chain of nested VMs. Instead, each VM is injected with the "Unit of Work Manager" and can ask the "Unit of Work Manager" for a UoW by Parent ID; it will get the UoW that "everyone else is using".
Now any VM can load any data it needs (or benefit from data in the UoW's cache) by asking the UoW for that data. The VM doesn't have to "think" about whether it is the first or the last to ask for data, whether the data are in cache or not, whether the data were retrieved all at the beginning or as needed. The UoW can encapsulate those details, exposing simple "query" methods for the VMs to consume.
Of course the UoW should offer "refresh" methods as appropriate to cope with staleness ... which has a different definition for every type in every application.
We tend to "sandbox" the UoW for each task which is typically oriented around a root entity. Therefore, the master VM for Parent-1 has its own UoW with its own EntityManager while the master VM for Parent-2 has its own UoW with its own EntityManager. In this way, the user could work on Parent-1 and Parent-2 simultaneously (e.g., create order #123 while updating order #456) and independently without commingling changes.
The "Unit of Work Manager" creates UoWs with embedded EntityManagers (EMs). It creates new EMs with a helper service called the "EntityManagerProvider". The "EntityManagerProvider" is responsible for minting new EMs and populating them with "global data" such as reference lists (e.g., States, StatusCodes, Colors, etc).
The "EntityManagerProvider" (EMP) keeps internally a read-only "master EM" with the source MetadataStore and the canonical versions of those static reference lists. The new EMs it creates are typically copies of this hidden master EM. Thus the overall system makes exactly one request for metadata and one request for those static reference lists. The EMP takes care of distributing that source material to the new EMs that it creates.
How much of this do you need? I don't know.