Modify/Replace rigged model

I have a model that I’ve rigged, vertex weighted, etc - basically, fully rigged for animation. What I’d like to do is make a duplicated version, but change features or the model (but not change any of the poly or vert count) like eye shape, nose, lip, etc … minor modifications to create a new person.

Is there a good way to modify this mesh and keep it all intact in the rigging? Can I externally (in blender still just a separate file) work on the mesh and import/replace the original mesh. Or duplicate the whole rig/mesh and edit as is? Is there a function to replace a mesh that still retains all the weighting and modifications?

You can keep a copy of your mesh + armature somewhere, then rework your mesh, and at the end, in Weight Paint mode, make sure the weights are still good

Am I able to edit the mesh without unbinding? When I unbind the mesh, it loses all its weighting when I rebind.

yes, don’t unparent the mesh. If you duplicate, duplicate both mesh + armature