Ну это принцип их работы. Он же не может ссылаться на ветку, иначе когда ветка на сервере уедет, сабмодуль втихую обновится у части разработчиков (которые обновят локальную копию). И получится что у разных разработчиков разное состояние на одном коммите.
Да и потом при попытке откатить репозиторий для поиска источника бага пойди разберись на каком коммите были сабмодули.
С угадыванием ветки по коммиту наверно тоже просто так не сделать механизм который бы всегда работал предсказуемо.