Moving the joins to the application layer definitely makes things quite complex compared to an SQL query.
Having a data lake or other solutions like you mention makes it more feasible to do these kinds of joins with big data, but it also usually requires careful schema and index design when moving the data to it for the queries to be performant. In these cases you would also lose the flexibility of arbitrarily querying the DB like the replicas provide currently, so in the end there would be a different set of tradeoffs. It is important to understand what things are truly not doable with existing tools and services, so that something like this can be considered for filling the gaps if necessary.
Currently the focus is keeping the replicas stable, maintainable and performant, so this work must happen soon.