You need to use Cross Lacing Product at your Point.Project node.
Here a simple example, using also List.Clean to remove empty list you get when the points are not below the surface:
I have got some empty list because of no ceiling above it.
Is it possible from any node to make those empty list return as Z=0 and respective X,Y points.
I had tried to extract data after point.project but is it given empty list for X, Y