You can add supportive collision shapes, but it is not exactly the most sustainable thing.
When you get to point of getting landscape layer textures, you are down to vertex painting solution basically. No way to make it automatic and reliable.
All these are just our speculations, not readily deployable approaches.
I doubt it is possible in stock config, but pretty sure there might be plugins. Otherwise you will need to dive into code a bit.
But passing weights per instance vertex is still not sustainable in full scale either. You would need to generate all possible variants of instanced mesh shader, depending on what landscape layers it needs.
This approach would rely on using texture atlases/arrays.
Depending on your goal( game, demo, or a still beauty shot), you might just keep the most visually appealing approach.