It seems like either controller will work with one registered bluetooth connection - which confuses me because I thought that with separate Serials, only the one registered would work.
That's unexpected, the controllers should have different MAC addresses (they appear in the pairing dialog) so the OS would be able to tell them apart and some pairing info to be also stored on the device itself. Deleting the device from the list of paired Bluetooth devices in RetroPie should force the gamepad to be re-configured.
With both devices connected, can you runcat /proc/bus/input/devices
and post the output ?
You can also test with jstest if the controllers are acting separately. Run:jstest /dev/input/js0
and press the buttons on 1st, then on the 2nd controller. Only one controller should yield any events/output on the test.