After trying to get the best of both with Subversion Externals and Git Submodules, I'd have to agree. At least until things are so loosely coupled they're begging for a public release.
That said, some packaging solutions can bridge the gap reasonably well. Unless you need instantaneous, atomic releases.
I switched to using submodules about a year ago, and they work very well for a project + a set of 4 dependencies. I handle that zoo from VS Code + Git Lens plugin.
Funnily, I only use Code to handle commits to submodules, because Git Lens is not available for the full VS IDE.
That said, some packaging solutions can bridge the gap reasonably well. Unless you need instantaneous, atomic releases.