juce::AudioDeviceManager::updateXml() not called until after audioDeviceAboutToStart callbacks

As per the title, juce::AudioDeviceManager::updateXml() not called until after audioDeviceAboutToStart callbacks, this means that attempting to call juce::AudioDeviceManager::createStateXml() in the callback won’t return the device that is currently starting.

I can work around this by doing it asynchronously or in the changeListenerCallback (as that’s async) but there’s nothing really in the docs to indicate that should be necessary.

I was just wondering if that is classified as a bug and if I should work around it in Tracktion Engine or if the JUCE behaviour is likely to change?