2: “Better” is relative. Write code you can understand and debug and make as good as you can. You will need to make sure it has security built in (taking the public’s input and using it), so don’t code in a way you are not used to.
1: As it says on https://developer.www.ads-software.com/reference/functions/update_user_meta/
“If the meta field for the user does not exist, it will be added.”