After testing the same app on the same Samsung device updated to Android 16 (recently released for Samsung), I can confirm that Audio Focus requests now behave correctly, they are granted when the app is running a foreground service, even if it’s not the top activity.
This indicates the issue was specific to Samsung’s Android 15 firmware, not to Android 15 itself. On Pixel devices, AudioFocus worked as expected on both Android 15 and 16, consistent with Google’s behavior change documentation.
In short:
Samsung Android 15 bug: AudioFocus requests were incorrectly rejected when the app wasn’t in the foreground, even if it had a foreground service.
Fixed in Android 16: Behavior now matches Pixel and AOSP devices.
Older Samsung devices: Those that don’t receive Android 16 will likely continue to exhibit this bug.