the dream of transparently/automagically swapping local calls for RPC is decades long now
but you can't. Once you go RPC you hit the CAP theorem and need to deal with the reality of running a distributed system. Erlang is the only mainstream-ish production ready language I know of that attempts to solve this. And it is still very much caveat emptor. This is also where you might also bring up nondeterministic latency characteristics.
This is something I would agree with. If you can keep the boundaries in place but work in the same process space you've managed to avoid the mess often associated with Monoliths and the overhead associated with Micro services.