Ok so I noticed something interesting. I ssh into batocera and type in "bluetoothctl" and I watched what it did while it was attempting to pair with my controller. It seems like the false "controller paired" sign comes up because for some reason it gets connected to an Apple TV or someone's iPhone, and this is entirely possible because I do live in an apartment complex with a bunch of college students. I can provide screenshots if necessary, but I do not wanna give away addresses and things.
It seems that priority is being given to iPhones and Apple TV's, and since my dongle has a 7 device limit it seems to fill up before it has a chance to connect to the controller. (This is just observation and I could be completely wrong bc I don't know a lot about these things.) Is this a problem with my dongle? Or is there something I can enter to change this?
EDIT: I've manage to be able to get my PS4 controller to connect every time I've tried pairing it in the command window via the discovered MAC address (it has wireless controller next to it so it's easy to find) and trusting it. Since the device is trusted it remembers it on restart! This also does not change it showing up as 2 controllers in Batocera.