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.