So I solves a lot of pain points and the only problem you are left with is dealing with JavaScript? It's quite neat, but why not simply use a better language and an engine? E.g. Unity3d, MonoGame, Godot?
It's kinda like using https://github.com/schteppe/p2.js for physics instead of Box2D: if p2 gets the job done, then you get the advantage of working with a much simpler code base than Box2D which is just about impenetrable as an emscripten port.