This honestly sounds like Big Box is holding onto the first input instance it sees and not re‑acquiring the device after another app grabs/releases it. Since your 360 controller works fine, it’s likely related to how the DS4 is presenting itself over Bluetooth (DirectInput) vs how Big Box is polling it.
A few things that have actually helped in similar cases:
First, try forcing Steam to fully exit (not just close the window) before launching Big Box. Steam Input can “wrap” the DS4 and when it releases it, some apps don’t re-detect it properly.
Second, in Windows, go to Device Manager → Human Interface Devices and disable any duplicate “HID-compliant game controller” entries that appear when the DS4 connects. Sometimes Bluetooth DS4 shows multiple interfaces and apps bind to the wrong one after it’s reused.
Third, if you’re willing to test without breaking RetroArch, try DS4Windows in “Hide DS4 Controller” mode with HidHide configured properly so only Big Box sees the virtual Xbox device. The RetroArch issue usually happens when both the real and virtual device are exposed at the same time.
If none of that changes anything, it’s probably on LaunchBox’s input handling (likely SDL/device re-enumeration related). At that point it’s honestly worth opening a proper bug ticket with logs, because your repro steps are clear and consistent.