Making a website's basic functionality work without JS isn't just for the random users who switch off their browser's JS runtime.
It's also for the people who have a random network dropout or slowdown on a random file (in this case a JS file).
Does that really apply when the javascript is only ~2kb?
> the javascript is only ~2kb?
It can be even 200Mb if it's not loaded properly and now a website doesn't even function.
That is what's happening any time you've seen a website that randomly decides to load without styles, or with a missing image.
The good thing is that it's very apparent when that happens and you can just reload the page.
But it's not immediately obvious when it happens with a JS file.
That's half the reason why you shouldn't re-implement css features in a js file. (the other half is performance)
When CSS doesn't load, it's immediately apparent and the user knows they need to reload the page.