The fact that there are so many different answers where some work and most of them don't is really showing that Git is not stable and too complex for such an easy task.
I wonder if the Git architects are able to read this without any embarressment.
Having said that, the following worked for me:
git clone --recurse-submodules [email protected]:company/mytoprepo.git .
The above does give the error "Server does not allow request for unadvertised object", but just ignore that.
Then do the following:
cd submoduleDirectory
git fetch origin
git reset --hard origin/master
The last command finally gets all the files of the submodule.
Please let me know when this does not work for you. It might be good to increase the embarressment for the Git Architects. Maybe they start making the Git utility more Simple.
(That's a concept you don't hear often in IT nowadays: Making stuff Simpler...) :-)