The raycaster returns a “hit” object that has a .point that is the hit point, and a normal that is a vector pointing out from that face.
So for your camera scenario it might look something like…
camera.position.copy( hit.normal ).multiplyScalar( 2. ).add( hit.point );
camera.lookAt( hit.point );