it happens because bluetooth profile for audio+microphone uses different codecs and has less bandwidth, due to being used for realtime communication.
the bluetooth audio streaming profile enables more codecs, but only playback, and allows significantly higher latency that you wouldnt accept on a call
> and allows significantly higher latency that you wouldnt accept on a call
That latency is also a millstone. We can do much better, but the standard lags and implementations lag even more.