Okay but say a person with an East Asian name fills out your form and dutifully fills out your form with their name in reverse. i.e. if their name is the Chinese equivalent of “Smith John”, they fill it out as given name: John, family name: Smith. Aren’t you going to be rendering their name in the wrong order for all your interactions? How do you know which order to concatenate it?
This is why you'd use the single "what do you want to be called?" value (e.g. preferred_name). Then it's not an issue because it's the exact text they provided.
You're mixing up multiple problems. If adding problems is what you want, none of my highschool classmates called each others in the "John" part of anyone's names, and emails beginning with a "Hello $firstname" in my language sounds weird to me anyway. But first/last names are often reused for billing and official purposes, so East Asian(CJK) users would know to fill the "first" with given and "last" with family name if asked that way for official purposes, no matter the visual order or how will it be used. If it's not for official purposes, people are just going to throw in random junks anyway.