Get Landscape height in material applied to a static mesh

Yeah well, mesh decals in UE4 is something different, so it ended up in a bit of miscommunication from my side.
We are dealing with deferred decal, just substituting decal actor projection box for a mesh.

I’m working in a custom engine build, but what we are discussing does not rely on any features, that are not part of stock 4.19

Sphere just gives you something, to draw on. Does not need to be sphere at all. Just needs to be mesh, suitable for foliage tool, but sphere works better, when reconstructing worldpos behind translucency.
For projection, you would be relying only on world space center of sphere, and whatever is behind the sphere(world position behind translucency).
Opacity can be obtain by sphere masking world space sphere center against worldspace pos behind translucency.
WorldPos behind translucency also serves as UVs.

For each landscape layer, there is a foliage type, that is the same sphere, but different material instance with appropriate textures.
Painting is restricted to layer weight threshold.

Fundamental problem of whole this approach, which conventional decal actor is depraved of, is translucency sorting. Spheres, that belong to different layers, will occasionally fight, when overlayed.
It is somewhat slower, GPU wise, than decal actors.
It is also less accurate, due to world pos reconstruction.

But if translucency sorting can be reasonably addressed, It can be used right away.

As for the stretch issue, needs some thinking. Storing normals additional time for decal rendering or normal pre-pass is not the thing one might do. Depth and Pos gradients to rely on is the only candidates so far.