I often upgrade by preserving /home and a few key config files but
system disk. Much faster than the anaconda upgrade option, with cleaner
results. But if I do that, and the UIDs used by packages at install time
change, there will be mis-owned files on the system.
Why is /etc/passwd not included in your "and a few key config files" ?
I'm not saying the current situation is ideal. I'm saying I'd rather have
anaconda preserve existing system account UIDs and/or use those from the
local LDAP/NIS/whatever, than a centralized fixed UIDs assignation...