well , can’t you work on a copy and keep the original as a subtool and then later re-project the texture onto the corrected model. The UV’s you’ll lose either way , but the coloring/texture , you should be able to recover with projecting.
I don’t have zbrush right now , so i’m not all too sure texture map gets projected, if that isn’t the case , maybe this :
-So maybe you would have to generate uv map for the corrected model , afterwards subdivide it a lot so there are enough polygons to capture the polypaint in a bit.
-also subdivide the original quite a few times , apply polypaint from texture and disable the texture , check if there were enough polygons to capture the texture
-project polypaint from original to the corrected one
-on the corrected one , apply texture from polypaint.
-on the corrected one , go back to lowest division and delete higher divisions, you don’t need them anymore , it was just to capture polypaint
So in short , you being bound by UV’s and texture maps , could maybe be resolved by converting everything to polypaint and being able to project because of it. And afterwards reverting everything back to textures based on the polypaint information.