Even monorepos are not perfect for evolving to microservices. It’s incredibly hard to refactor generally. We still lack good monorepo tooling. Tests take huge amounts of time to run. Multiple languages becomes painful especially ones with slow compile speed like Rust.
Someone needs to make a programming language that encourages you to write code that can be easily split and recombined. Something that can do remoting well.