Actually merging two existing users is indeed a tricky thing because users link to so many other interesting bits and pieces. Two separate users have two separate memberships, linked addresses, preferred addresses, and yes, preferences. There are also the created_on, display_name, and (the mostly unused) password attributes.
How deep does merging users go?
Abhilash's fix is good but I need to actually merge users, so here's how I would do it. https://gitlab.com/mailman/mailman/merge_requests/32 The change sits on top of Abhilash's, so there's no conflict.
I don't think I'm missing anything as far as users are concerned, but please have a look :-)