Ok,
So I don't think my last message actually solves your problem regarding setting a poses while mapping.
I am not sure it is a good idea to try really as it will confuse the SLAM mapping and anyway currently gmapping (and looks like also cartographer) do not support this.
It works when using rviz and AMCL by sending a 'pose' message on the '/initialpose' topic.
Using the 2D pose estimate button in rviz, it will publish the 'pose' message, and AMCL will listen to it and adjust its global estimate to match.
gmapping has does not implement listening to this message so will not update its pose.
So long as you are running nav stack and have the robot correctly located when also running gmapping (and probably cartographer,) and it has not got lost, it should go to a target if you send a 2D nav goal from rviz. It should continue to update the map as it goes.
I think what you are saying is that you have discovered this from you own experiments so this should verify that this is how it should work from my understanding of how these nodes work.
As far as I know this is what we have for basic ROS right now - there is some research work on going to make it better but I think 'lifetime mapping' (that is continuously updating a map while you live and navigate by it) is still a work in progress for ROS.
Ralph