I’m far from being a design guru, but I think a lot of the problem is one that has long been a fault.
That is, designing so that everything is good for the environment one is designing in without considering other use cases.
For example, If l have a heavy media file local / cached, I won’t have a transfer slowdown that first time visitors would have. If I have a large viewport area, content won’t be cramped for me like it might be for a user with a smaller viewport. If my browser font settings differ from a users settings I won’t be seeing things the same way they do.
I think a good way to deal with contrast issues is to have a buffer zone around text to ensure there is contrast. For example, if you go to https://meta.discourse.org/ and switch Dark Theme <-> Light Theme you can see the effect around the logo.
I haven’t come across many sites that have large aggressive top headers. But I have seen a few that have a heavy “above the fold” file that makes the page look like a “white page” FAIL until it loads in.