Just ask any Linux user that uses dark themes and you will find out what happens when the system theme messes with the site theme.
I myself always set a light theme in my Firefox config so I don't get a black on black text/background issue.
With how customized the styling on sites is every site needs to implement their own dark version otherwise you will run into situations where the styling is broken.
It is done completely different fashion than it was done on gnu/linux, on linux it was probably done by changing user agent style sheet (changes default bg color on body etc), when here it is done with media query (which webdev must explicit implement on his part so he can make sure that everything works).
To me black on white is just a hangover from old skeuomorphic design principles.
it's quite odd. It could be just a personal thing though.
The bigger factor seems to be environment you are currently in:
- Fluorescent operating room/accountant's office/Initech --> white backgrounds needed.
- Darkened lab/color-correct studio/night-time --> dark backgrounds.
And of course this has gotten worse over the years as control over the gui theme has been lost.