I've built a modular midi / audio / video platform on the web, and encountered most of the pain points mentioned in the article.
Some points:
- you need to move all sequencing and audio / midi work off the main thread. I use WebAudioModules and sequence all midi in the audio thread as well.
- you need to move all other heavy lifting off the main thread, for example for the multiplayer features I use YJS.. YJS runs in it's own worker to not stall the main thread
- you don't update the DOM, you very carefully redraw parts of SVGs or better, canvases.