I liked your article, sorry to hear about your difficulties.
I also loved elm, but switched away because of exactly the issues you mention: native calls not being supported. I'm a person who wants to experiment and monkey patch, and while I got a solution using ports working it was extremely painful.
So I switched... to rust. github.com/vitiral/artifact is my project and it has both the front and back end written in rust+yew, which allows sharing of types and (eventually...) extremely high performance.
Is rust webdev ready for production use yet? ... probably not. WASM itself (which you should probably be compiling for) is only supported on the latest browsers -- and I'm sure there are lots of features missing. But if you were using Elm before, you might like rust+yew.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.