I upgraded to Buster today with a fresh .img and copied over .cfg files, etc from the old install.
Some configuration files might not be correct with the new versions of RetroArch. Which version of RetroArch did you have before the update ?
PROBLEM 1 - If I'm in the emulationstation menu, the player 2 controls DO work (all players can control the menu), but select and start are swapped. I thought if I swapped the values for those inputs in /opt/retropie/configs/all/retroarch.cfg it would resolve this, but has no effect.input_player2_start_btn = "22" input_player2_select_btn = "21"
Not sure if configuring in retroarch.cfg overrides the autoconfig profile values. Where did you get the 21, 22 values ? The numbers look way high for a button number.
In games, the 2nd player controls don't work at all. I think this has something to do with "Port 2" if I go to settings-->input---Port 2 Binds. There is a new device index (index #2) that wasn't there before the upgrade to Buster.
Did you install any aditional drivers in RetroPie ? If you have a 2 player controller, you should have index 0 and index 1.
So in order to get any input on that screen I have to switch to index #2 and it will assign new numbers to all of those old values. So for example what was button '22' becomes '6' but at index #2.
How many gamepads does the system detect ? Did you add the USB quirks for this controller - see https://retropie.org.uk/docs/Xin-Mo-Controller/ ?