1) I had the same issue with my controllers. All the button configs were messed up. Turns out the system detected my controller and used a predefined config file for it. Problem was solved editing retroarch.cfg and changing “input_autodetect_enable = true” to false. Other solution is simply removing the config file that the system is autodetecting ( /opt/retropie/emulators/retroarch/configs). Don’t know if it’s the problem you’re having, but it’s worth a try.
2) If the solution above worked, it should fix that issue as well. The predefined config file had rewritten the exit emulator buttons (in my case ESC key didn’t work).
3) Also tried Maro Kart 64 and I didn’t have any of the issues you had (using default emulator) and not configuring anything else
4) With 3.0 GBA emulator works fine for me (default emulator, not onfiguring anything). I just put the gba_bios.bin in home/pi/RetrOpie/BIOS and nothing more.
3 and 4 are not solutions, but just to let you know how it was for me.