Been there and it’s basically the same as a mono repo but with more steps.
Why should teams have their own release cadences for internal code? It just makes it slower and it breaks shit so easy. Oh, you didn’t realize your code change broke 3 downstream dependencies? Of course not, because their tests are running in your old version because they can’t consume anything before you release it.
Whereas a mono repo, you can’t merge if that happens. Everything resolved instantly. There’s never a reason to be using another teams old code. It’s not like a real library that has LTS releases.
For public code/services, a mono repo doesn’t prevent separate release cadences. Our mono repo has independent service deployments. We can deploy anything at any time in any amount on any git commit.