With some experimenting, I found a method that works, not 100% but that is caused by the extent size, I think.
I use the PCG-graphs that are created in this video: Unreal Engine 5.4 PCG - New Features Ep 2 - Spline surfaces/subgraphs with loops and feedback (youtube.com)
The original part where the points are selected is like this:
where the output of the projection is fed into TransfromPoints for futher use.
My thought was to compare the height of the points ($position.Z) and compare that to a given value, and if lower, ignore that point. This value can be the max value in my scene since that is flat on top.
First, I extracted the position form the surface, but that gave a few that were located way below the surface I want to decorate. In the end, I found that the projected points of the landscape should be used to select the positions from and feed that into the attribute filter; the resulting output is then fed into TransformPoints:
AttributeSelect details:
AttributeFilter details:
There are still points where posotion.Z is below the surface but much less. My guess it has to do with the size of the samples, and the extents of these assets - they are the smaller ones.



