Probably I've found a bug.
In spRendered I call a function which reads user profile and writes persons manager to extra field. Quite normal and popular situation.
Some users has a problem with it because system displays different peron as their manager.
The situation happens when you have persons with similar logins and display names. For example "DOMAIN\Adam.Dhont" with display name "Adam Dhont (Warsaw)" and "DOMAIN\Adam.Dhont1" and display name "Adam Dhont (Berlin)".
case 'Manager':
fd.field('personUserManager').value = props[i].Value;
The code above will write DOMAIN\Adam.Dhont as login name but Adam Dhont (Berlin) in fd.field('personUserManager').widget.text().
Is the issue with the incorrect display name occurs only when Person field is populated programmatically? Or do you also see the incorrect name when entering the name manually?
After saving the form what is the value of the personUserManager field? Is it correct?
The issue appears when Person field is populated programmatically (like in your documentation). It doesn't matter if I use login name or email address.
Saved field has wrong data.
In my opinion it works this way:
code sets a login/email (fd.field('personUserManager').value = props[i].Value;) and form searches for display name. While searching display name (in code only login or email is provided') it looks for all site users who starts with or contain this login name. Result is an array and it takes last received Display Name. This all before save - we have good field value but wrong Display Name.
When form is being saved it takes Display Name (which is incorrect) and searches for site users and fills all other properties from wrong site user, even if login or email has already been provided for the field.