Make a per particle expression that reads the surface point position and normals+ binormals, then querry the uv location on your surface and get the displacement value then move your particles position up along the normal by that value.
The only problem si that querying the uv value of the current position is a bit slow to say the least. So i wouldt attempt to do this if you had more than say 500 particles as it would take AEONS for you to solve the simulation. So if you are setting goal uvs yourself then your in luck otherwise your not so lucky