I ended up having to do something like this in the AkWwiseInitializationSettings.cs's InitializeSoundEngine function:
#if !OVRPLUGIN_UNSUPPORTED_PLATFORM
AkWindowsSettings akWindowsSettings = (AkWindowsSettings)(ActivePlatformSettings);
if (akWindowsSettings)
{
string audioDevice = OVRManager.audioOutId;
uint audioOutId = AkSoundEngine.GetDeviceIDFromName(audioDevice);
akWindowsSettings.UserSettings.m_MainOutputSettings.m_DeviceID = audioOutId;
}
#endif
Additionally, I had to make sure OVRManager ran before AKInitialize in my script execution order.
And I noticed that AkSoundEngine.IsInitialized() was returning True, even if the sound engine wasn't initialized. So I had to do
if (AkSoundEngine.IsInitialized())
{
AkSoundEngine.Term();
}
at the start of AkSoundEngineController.cs's Init method.