You could use one of many project bootstrapping tools to quickly spin up web applications in Node, Go, or Rust.
If you still insist on using a dynamic language, then at least try the Phoenix framework in Elixir. It offers so many more good ideas.
The performance degradation for 99% of web app use cases is negligible compared to the productivity increases. My team switched from a node/react environment to a full stack rails monolith with stimulusjs and we're shipping faster with less bugs.
What do you consider "too much magic"?
You could use one of many project bootstrapping tools to quickly spin up web applications in Node, Go, or Rust.
If you still insist on using a dynamic language, then at least try the Phoenix framework in Elixir. It offers so many more good ideas.