Its a licensing issue. The borderlands between the headset and headphone profiles are rife with licensing land-mines - developers have flipped the table and rage-quit the issue, and this technical debt has been shipped.
(Disclaimer: I make headset/headphone firmware for a major competitor and deal with this issue every single week...)
My sympathies, and I appreciate your willingness to wade through neck deep licensing excrement to produce something that still works.
But I guess it isn’t solved by that. Why isn’t it?
Using the same headset on both Windows and Linux leads to a very different experience. Windows works fine. Linux has the issue macOS has mentioned here.
It still is, mSBC is really not that good, plus all things considered reasons go beyond just the codec, see my nearby comment: https://news.ycombinator.com/item?id=41705258
Switching to "2x half-duplex" on both ends is really the best thing. I hate it that you can't separately select audio input and output in iOS.
I don't understand why all desktop OS can't have something better while when I pair my Bose headset on my smartphone it seems to be using a better quality codec profile.
I had high hopes for BLE Audio but that seems to be stalled
Isn't this a Mac-specific issue? I have some recollection in my head that Mac OS uses a terrible codec for bidirectional bluetooth audio, but iOS uses a good one.