> I'm also afraid of digging an inescapable hole of untestable spaghetti code and tech debt.
if you are worried about tech debt you should watch "The art of destroying software". It will be hard to understand at first.
Here is TL;DR. Writing small services that will take only one week of work to rewrite. That way you can burn your services and recreate when you truly understand your domain.
Recently I worked on a REST API using go. I think the go package system has good support for writing small and independent packages. Just make sure your microservices are micro.
You can do the same for your React Codebase.