Нет тут важно именно, что при git checkout iss53 сабмодуль переключится на одноименную ветку
На сколько я знаю, сабмодули знать не знают про ветки, они оперируют только коммитами. Суть использования сабмодулей в том, что имея несколько вложенных репозиториев можно держать зависимые репозитории в консистентном состоянии.
Таким образом можно всегда будет откатиться на любой коммит из истории или чекаутнуться в любую ветку и успешно собрать там проект, сабмодули придут в то состояние, которое было зафиксировано для нужного коммита.
С ветками такого бы не получилось, т.к. ветки могут измениться любым образом в репозитории (могут уехать на 10к коммитов вперед, удалиться, быть пересозданными в совсем другом месте в истории).
Тут наверно проще либо руками переключать ветку репозитория, либо хранить где-то имя ветки и скрипт переключения сабмодуля на эту ветку. В обоих случаях нет большой нужны коммитить сабмодуль в репозитории, можно либо вынести рядом и обращаться через "../subrepo" либо заигнорить в репозитории. Кстати в скрипт можно будет добавить и выкачивание этого репозитория, если его нет.