I spent some time looking into this and can report back enough to close this one out. Turns out this is a feature by Google Play: when you upload an AAB with an embedded proguard mapping file, it will automatically work out of the box on Google's backend. You are still given the option to upload a proguard mapping file which override the one in the AAB.
From StackOverflow:
https://stackoverflow.com/questions/69483065/mapping-files-for-aab-in-google-play
I did an experiment and can confirm that if we upload only aab file, mapping file will be taken from the aab. If we also upload a separate mapping file, it will override the one in the aab.
From Google's documentation:
https://support.google.com/googleplay/android-developer/answer/9848633
Step 2: Upload a deobfuscation or symbolication file
To deobfuscate or symbolicate your app's crashes and ANRs for a version of your app, you must upload the deobfuscation or symbolication files for each version of your app.
Important: This step is only required for developers using APKs. If you’re using an app bundle and Android Gradle plugin version 4.1 or later, then there's nothing you need to do. We'll automatically grab the deobfuscation file from the bundle and you can skip to Step 3: View deobfuscated crash stack traces. You can learn more about app bundles on the Android Developers site.
Hope this helps someone else! 
Thanks for the report!
The behaviour surrounding uploading files explicitly vs in a bundle is unfortunately not documented (last I checked), but this certainly seems unexpected, and feels more like a Google Play bug…
I'll try and reproduce this and see what can be done, e.g. perhaps by extracting the ProGuard map and uploading it directly, or perhaps asking folk at Google nicely.