After some more testing it seems that circleci has some basic loop detection hardcoded into its process where jobs are not considered worth tracking/running if the combination of commit ID and tag is repeated.
The workaround is to create a new commit with something like the following (depending on your setup)
git commit --allow-empty -m "create a new commit"
git push origin
<add back the tag>
This type of restriction does make sense from a CI workflow point of view as a workflow could be adding and removing tags as it executes jobs, as a loop could become rather costly, but there should be far clearer documentation about such a restriction.