I naively thought that was the whole point of sub modules. Otherwise why not use a package manager?
The use case being that you can work on and update some independent system/repo while getting real-time feedback on how the changes interact with the system as a whole.
That's how I've come to use git submodules. It's been helpful when working with various embedded projects. They often don't get updated for months or years (ideally), and then you only want to pull in specific changes.
The use case being that you can work on and update some independent system/repo while getting real-time feedback on how the changes interact with the system as a whole.