There is an "Advanced submodule behaviours" section under the "Additional Behaviours" button in the git section of the job configuration page. If "Recursively update submodules" is checked, then it should update those submodules.
If the additional behavior is added to clean before checkout, that may help your case as well.
There are many, many ways that submodule configurations and parameters can interact with the plugin, and there are very few automated tests of those many different cases. Automated test submissions to better test submodule support in the git plugin and the git client plugin would certainly be viewed positively.
There are some command line git versions (the 1.7.2.5 version included with Debian 6, for instance), which aren't new enough to be as well behaved with submodules as later versions of git. Since that old version is not officially supported with the git plugin (due to other gaps in functionality), it is no surprise that it is not as well behaved as newer versions of git.
There are two different pending pull requests which propose to always include submodules in clean (git clean -xffd). However, neither of the pull requests have tests, and I'm not a user of submodules generally, so I don't have enough interactive test experience to allow those changes into the plugin without much more testing.
If you're interested in more reading about submodules, checkout, and clean, consider:
The most upvoted request for the git plugin asks for credential support in submodules:
Mark Waite