How to transfer a Vertex ID to a different Vertex ID

I have two models that are exactly the same (face and body); same number of vertices, faces, tris, etc, and they have the same exact shape. For some reason, whenever I try to transfer the shapekeys from the first model onto the second, it messes up and the shapekeys affect the wrong vertices (the vertices on the second model move at the stomach while the vertices on the first move normally on the face). I tried to use the Transfer Vert Order addon by bartoszstyperek, and it won’t transfer the vertex IDs. I’m using Blender 2.83. Is there any way to fix this? Would updating to 2.9 fix this? Is there any other way to transfer vertex IDs? Thanks for any help. It is my first project on Blender.

This free addon would be one way to go. Used it many times, works like a charm.

Mesh-> sort elements ( ) operation could possibly work. Possibly not-- you’re basically re-ordering the vertices on the basis of world position, and if world positions don’t match up, then neither will your sorted verts.

If they really have the exact same shape, at least as far as the shapekeyed bits are concerned, then you could surface deform, run through the shapekeys and save as shapekey.

If they have the same UV, you could bake displacement maps for each (base - shapekeyed and save a series of displacements as shapekeys.

But it’s hard to imagine that one of these meshes has some particular bit of info you want to keep, the other has the shapekeys you want to keep, and they’re otherwise similar enough that the shapekeys would even work when transferred.