Framing microservices as an industry baseline rather than an architectural choice is the part worth keeping, because that is exactly how the cost stays hidden. Nobody writes down the price of a default.
Network latency and deployment overhead are the visible costs, but the one that hurts longest is that a call across a service boundary loses the transaction. What was one atomic write becomes two writes plus a compensating action you now have to design, test and operate.
Module-bounded single deployments keep the boundary and keep the transaction, which is why the middle ground holds up. The honest trigger for splitting is still independent scaling or independent team ownership, not size.