Git source doesn't support recursive submodules
checkout-submodules: True with the 'git' (and 'git_tag') sources only checks out submodules of the repo, and not submodules of those, etc. Some projects use submodules extensively and require checking out with git clone --recursive to build. Manually listing submodules is tedious and can be error-prone, and also makes updating elements to new versions more complicated than it needs to be. It would be convenient, and I'd argue expected behaviour, to recursively clone submodules when the option is set.
Some implementation detail: the Git source plugins are implemented with a "Git mirror" class which is wrapped by the actual Git source class. The handling of submodules is done in the Source, which creates a Mirror object for each, so recursion would require moving that to the Mirror class.