Reading the source, it looks like when you sign a tag it goes through the process of building the whole sha2 binary tree, opentimestamping this, and attaching to the tag. So you can have a repo with no signed commits, only signed tags, and in principle this should be sufficient. You can use this to make a system of "timestamp tags" which checkpoint the state of your repo at various times.
But when using ots git-extract, it reads through the tag to the commit and then complains that there's no timestamp to extract data from.