git submodules really are awful but sometimes they're the hero you need, even if they're not the hero you deserve.
(This PSA brought to you by me ripping out my non existent hair trying to replace an old repo with a new one at the same submodule location. TL:DR - if you're still seeing the old stuff you want 'git submodule sync'. Ungh)