Is UpdateAsync() actually better than SetAsync()?

To answer your initial question, yes it’s better than SetAsync(). With UpdateAsync() you can have a check in place to not override data.

To answer your second question, I suggest looking into ProfileService. It’s there so you don’t have to worry about ever dealing with the horrible downsides to storing and loading data.