In the past the way I’ve gotten around this with flat surfaces has been to
-
Position an image correctly in 3D space to the surface you want to unwrap.
-
Project the scene on to that image with your preferred method.
-
parent a new camera with that image.
-
Switch render out camera to your new camera and position it so it records as much or as little as you want to work on.
-
Paint that output to your hearts content.
-
Duplicate your first action, adding your painted output as a layer.
-
Project painted output from the position of the camera parented under your correctly aligned image plane using your preferred method.
…guessing you know this already but figured I’d write it down anyway.