Note this doesn't help if your persistence layer gets overwhelmed (since in a monolith you'll still probably have a single persistence layer). Separating the persistence layer is by far the hardest part of moving from a monolithic to a micro services architecture.
> In addition, with a monolith, the work of monitoring, alerting, configuration, and a local development is paid once. But with a microservice design, that cost must be paid for every service.
The second sentence is only true if _every service_ actually rolls its own monitoring, alerting, etc. I cannot imagine a situation like that in practice. The standardization of those things (and more, such as build and deployment pipelines) is necessary to enable microservices in the first place. It's true that plenty of organizations committed to their microservice framework will also run some things outside of it, but I've never seen the ratio of things in the framework closer to 0 than 1.
The issue I bumped into is getting /api to talk to /auth; OP recommends making them talk over RPC.