The comparison to sync XHR is apt – put it this way, if you could go back in time and prevent synchronous XHR from being a thing, wouldn't you?
However, the argument against allowing await in top level code doesn't make much sense if all of these bad side effects already exist.