All i can tell you is that components within a landscape and their LOD distribution is managed by the landscape settings.
If you want to manage it yourself you have to delete the components, create a new landscape with the components you deleted.
Then you can force loading/unloading however you like.
Obviously if you make your landscapes all just 1 component, then you drown your GFX in draw calls.
Without an effective system to aggregate them as a single draw call (and with less vert count) pretty much nothing you come up with will ever run decently.
Think of it this way.
If you have 8km and 2x2 at 256 components, that is
256x256 draw calls to render just that one landscape when you switch it to individually made blocks.
Fairly certain this is also the reason the new stuff doesn’t run well and why people only complain about this world partition thing.
World composition wasn’t any better, but at least you knew as much going in.
So yea, obviously volumes would help (and it’s why you feel they make things better) - but what you are missing that would get things to perform is some way to aggregate the distance parts in a way that you go from some 65535 draw-calls to 1 draw call.
HLODs can be made to help, but by all forum accounts they are as broken as anything else.
So, really, what you need to figure out is how to convert a landscape to a mesh, and then how to LOD that down while merging it down to other pieces.
While loading volumes or Data Layers can be used for that, I’d go the other way around it.
The player has a zone around which the simplification is done using whatever aggressive formula works best.
Which is similar to what the Landscape does if you look at how components react with LOD in proximity to a player.
To pop LODs down, they essentially use a runtime shader (which is why the bigger the landscape, the worse performance is when you walk up to 4 ways of components).
They aggregate their calls in the back-end though, which is complicated to do manually for average Joe without any formal knowledge of rendering pipelines.
So in making your own thing, you have to study up.
Or
You can leverage what is already present by simply toggling landscapes on/off and merging landscape actors to use at a distance.
Simply leaving them in place but not visible in game so they cost Ram, but not the draw call until they are needed.
You can get decent performance that way, but at that point forget landscapes altogether and just use meshes.
Ps:
I guess the reason that the new landscape is going the direction is going is because Nanite supposedly does the aggregation and simplification at runtime for you.
So there is that.
Maybe 65535 pieces of terrain aren’t unmanageable anymore when you switch on nanite for it…