Even if master was the default still, nothing changes about your problem. Repositories have always been free to choose whatever name they want and change it at any time.
Is the expected behavior when a remote changes its HEAD seriously just to break when you try to push?
The HEAD value is not propagated by git operations (except for a fresh git clone). It is per-instance of a repository. If upstream changes, all other instances have to get fixed up manually.
You can't propagate (push/fetch will FAIL) a branch deletion to a repository if that branch is still referenced in the HEAD, and attempting to clone a repository where this has been forced will leave you in an empty directory with no checkout. This is the expected failure mode for all clones when a project changes to main and deletes master.
This is not specific to the main/master thing, it has always been a big pain, but with the main/master thing people started en masse to do it without technical necessity.
Is the expected behavior when a remote changes its HEAD seriously just to break when you try to push?