Hi,
Thanks for sharing the code and logs.
Since Connor is away, I will continue with this support case.
I was able to reproduce this locally with a minimal Unity test. When the DEVICELISTCHANGED callback is registered, FMOD reports NoSound Driver after the last device is disabled, and it does not automatically switch back when the device becomes available again.
This matches the behavior described in the documentation:
https://www.fmod.com/docs/2.02/api/troubleshooting.html#my-audio-device-does-not-change-automatically
In this case the application needs to handle the device change itself (for example by selecting a driver again or reinitializing the system). If the callback is not registered, FMOD will normally handle device switching automatically.
There is also a related discussion here about handling device changes on Windows:
Hope this helps!