Don't see the problem with ssn as I'd. People have two, get two rows in your database. Not the end of the world often.
database it's a tool thus limitation is not an error.
E.g. maybe trans peeps want to forget their old ID, maybe not.
your own key has no chance of reflecting any reality in the world.
I remember when the school I went to changed from using SSNs for all student records to using no SSNs at all. They had to notify everyone about the changes, repeatedly. It was obviously very expensive. Don't use SSNs as keys.