Re: "for as long as software has existed, it's been normal to distribute the source code"
You didn't mention Electron at all in your article.
Electron is its own environment and framweork - just like Java or .NET. And as much as stupid like them - as soon as that environment version is no longer supported, your applications aren't too. Electon solves it bring thw whole environment in each app - meaning huge downloads and disk space used, compared to compiled code - so its compiled code layer solves the comaptibility problem, since most OS need to ensure a decent compatibility with complied code (although in this regard Windows is far better than Linux - exactly for the reason you can't recompile for each release, and why should you? Compiling code should not be a user matter - they use software, not build it).
Anyway between pure interpreted languages and compiled ones there are many that use some form of intermediate code - for performance reasons. Is this obfuscation? It's not directly readable by humans, sure. But CPU for now don't speak human languages, nor programming ones. Why WASM, otherwise?
Still, whatever is written in Javascript ends calling lower layers, most of them made of compiled code anyway. Where the CPU spends more time after the code is parsed and maybe JITted?
As I wrote before, I'm still waiting for virtual machines (as in JVM) OS - they never came because they were a stupid idea. This kind of languages are used because they "sandbox" the programmers, so companies can get less skilled and cheaper ones, since they believe thay can't make "big disasters" (not true, but that was how they were sold). So IT started to move backwards - crappier applications, slower performances, huge downloads.