I don't know why they don't fix this. Can't they reconstruct the chain of awaits somehow by addition some metadata to whatever objects they use to keep track of async stuff?
In Safari, I've had good success setting breakpoints in client side JS. The call stack isn't perfect, but usually it's at least enough to get me to the next step. The other thing I'd mention is request/response overrides in those cases you're debugging in production!