This is really a Bluetooth issue. The same happens with any headphones that have a mic on any OS. When Bluetooth mode is switched from Headphones to Headset (with mic), only much lower quality audio codes are used. Does anyone know if Bluetooth 6 adds support for higher quality codes for Headset? It's a big issue, in my opinion.
It was a Bluetooth issue years ago. Now it's only an Apple issue where it can't use a more decent codec. On Linux you can choose the mSBC codec and get decent two-way quality on a modern headset.
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.