What if you don't use vec_for_screen and vec_to_screen, but simply the camera's position and rotation as reference?
To prevent the models from moving while the camera's tilt is changing, save the camera's initial rotation into a vector that you use for positioning the models.
Then switch between two states, one for placing a model, and the other for changing the camera's tilt, or whatever the other actions within the game are needed.