Hello will,

Given a chunk with a given camera with a point with (x,y) pixel coordinates then you can use the surface that was the base for DEM generation

surface = chunk.model or surface = chunk.dense_cloud

so projected point p on surface woud be

p = surface.pickPoint(center,p2) # projected point p on surface in internal coordinate system

where center = camera.unproject(ps.Vector((x,y,0))) # camera perspective center coordinates in internal CS and

p2 = camera.unproject(ps.Vector((x,y,1))) # coordinates of point in direction from (x,y) to camera center in internal CS

P = ortho.crs.project(T.mulp(p)) # coordinates of projected point in ortho projection

X, Y = (P.x, P.y) # point P X,Y coordimates in ortho CS

where ortho = chunk.orthomosaic and T = chunk.transform.matrix

This should get you going,

PS this supposes projected point on surface exists ie. is inside same