How to get the point normal direction from volume sampler in PCG?

Volume sampler is taking a 3D grid and run the intersection with your volume (can be a primitive like a sphere).
There is no concept of normal in that case just an intersection check.
To get the normal, you have the world Ray hit with the surface sampler as you already said.
If you need the full surface of the mesh, it will be with the mesh sampler, or try with the World Volumetric query