I have experienced situations which I believe are similar to yours. I will tell you what I tried, which seems to work, although issues keep reappearing. I also have a vague guess as to what is going on.
Three are two ways to correct mistakes in the set of photos used to train Photos to recognize a person. One is to type in the correct name Joe for the mislabeled photo. A second is to delete the incorrect name, leaving the face unnamed. A third is to Control-click and choose "This is not Jim". I think the third option will prevent Photos from repeating the automatic incorrect name assignment. If you have a set of Photos in which Joe has been correctly identified, eventually Photos may automatically, correctly, add the photos you have marked "This is not Jim" to the set labeled Joe.
What I think is going on is Photos 4 (a part of Mojave) is using a Face identification method which is different from that used in Photos 3 and earlier. I think the new method is an Artificial Neural Network (ANN) which can distinguish among faces. In a simple case, the ANN for a particular face processes the data which describes a new face, to produce a result that the face is (or is not), that particular face. The point is that the ANN produces a yes-or-no result. An ANN can be trained (created) by processing known sets of data. In training, when a datum is processed correctly the ANN is not modified. When a datum is processed incorrectly, the ANN is modified to be more likely to produce a correct result. Eventually, after processing much known data and correcting many mistakes, the ANN becomes refined and more accurate in its sorting. For the case being considered, training will benefit from processing photos with faces marked as "not Jim" as well as others marked "Jim". After the ANN has been trained, it will still make mistakes. It will be important to review the set of faces marked as "Jim", and manually correct by Control-click "This is not Jim". This will provide new data which will be used to train the ANN so its future prediction will be more accurate.
Trying to review more concisely.
- For photos of Joe which Photos mistakenly labels "Jim", mark them as "This is not Jim".
- Add the name Joe to some photos of Joe.
- Let Photos run a while, then review then faces Photos has chosen as examples. For faces labeled in error, Control-click and choose "This is not ..."
- Let photos run some more, the again correct the examples.
- Reiterate as needed.
Eventually the accuracy of Photos choices will improve, and less manual correction will be required.
Please tell us how this works for you. My suggestions are based on general knowledge of ANNs and recent experience with Photos. I am working my way through, trying to understand Photos better myself. Each bit of experience helps build the picture.