1. React is 11 years old. Even "modern" React with hooks and such is more than 5 years old.
2. Express has been the backend server for Node for over a decade and it hasn't had a breaking semver change in 7 or 8 years.
The front end bundler ecosystem has been a hot mess forever though.
Compare this to Android which somehow manages to break its build system ~every few hours~ at least once per year.
The situation with React Native back when I was doing RN was horrible. I ended up with 2 major breaking changes to the main router package, and I burned so many weeks of time trying to keep up to date with routing changes. It is super annoying that such a simple thing has so much churn. The solution doesn't have to be perfect, it just has to be good enough, with well documented warts and workarounds, and lots of sample code!
The bundler situation wasn't ideal for a few years, but I've been really happy with esbuild lately. It's incredibly fast, has zero dependencies (besides the Golang sys module which is a de facto part of Go's extended standard library), and is much easier to configure than Webpack. I even heard DHH praise esbuild on The Changelog podcast recently, and he's a notable anti-build evangelist.