I like the idea of alternate stylesheets. It’s a shame that Chrome dropped support for them in 2016; and to be honest even Firefox’s support of them is not great. Your choice doesn’t even persist between visits last I tried them out.
There was never any built-in persistence either. Either the developer stores it or users have to manually change it every time the page refreshes (which interestingly isn’t an issue in SPAs specifically). You could easily slap some media queries on these bad boys and all they need to contain is the variable definitions and you can get themes and other features with very small files.
One thing that really bothers me about this article is that a lot of this stuff is relatively new and the are no links to caniuse in the article. I don’t even want to know about the existence of features I can’t safely rely on, so reading this involved constantly hopping between tabs.