делай библиотеку.
гит сабмодули запоминают хеш коммита, это может быть даже detached head емнип.
для сабмодуля надо отдельную папку - замусоривает корень проекта, т.е. не ложится в вендорную папку. больше сабмодулей - больше мусора.
библиотека, с другой стороны, будет проще в менеджменте зависимостей, т.к. хотфиксы не будут сдвигать версию, например 1.0.0, а вот с сабмодулями после каждого хотфикса пр дется подматывать к нужному коммиту. да и вообще это отдельный набор команд для менеджмента, и получается то что должен делать пакетный менеджер начинает делать гит на примитивном уровне.
зависимости сабмодуля гит не резольвит, это самостоятельно через пакетный менеджер (это считается подпроектом)