I'm not sure I fully understand. How is elastic search reading the pages? Are you in an activity context? A data transform? Can you call something from there to map your data wherever it is that you need it? A little more detail about how you are implementing this might be helpful.
I'm not sure I understand what the issue is. When the activity that sources Y references the page X, if it has no values, shouldn't it call the REST service and get them? And Y should wait until that happens? And if X already has values, it's a simple property-set, right? Are you loading them both at the same time, asynchronously? Are you getting an error? I would assume that all just works. What's failing? The population of X? In what way?
I'm not sure how Elastic Search relates to this : but I am assuming you are calling (perhaps a totally separate cluster from the one that PRPC uses?) an ElasticSearch Cluster using its REST interface : and you are mapping the results to a Data Page.
I'm also not sure what you mean by "MasterDataPage" here ; but it sounds like you have a second Data Page which is populated by an Activity.
And I think you need somehow to 'merge' these two Data Pages into a third one ? (Or possibly merge onto the other?).
Since one of your Data Pages is populated via an Activity - you can reference the other Data Page (built by REST) from the Activity to copy the values over I guess ?