In theory, the git submodule builds are *more* reproducible, because all your build servers etc have clones of those sub-repos cached under their .git, even though they are not under your control.
If the upstream goes away, you can just re-publish the repo (which you'll have cloned locally) and adjust the remote URL in .gitmodules. New people cloning will get the clone from the new source.
That said, submodules have very poor support by many commercial and popular git tools, especially GUI and IDE-based tools. They don't always behave as you'd expect when switching branches and this can be confusing to the uninitiated. So you might run into practical problems using them.