That should all work, but one issue is there's another cache I forgot to mention: there's a cache in the xf_thread table which is a serialized array of the tags used on each thread. That's probably key, in fact, as theoretically none of the tags will show without that.
They will appear when you click on edit tags, and adding a new tag or editing the existing tags should rebuild the per thread cache (and indeed, yes, the last use date and use count etc. should rebuild too) but until then those tags won't be visible.
Also it's not a given that we'd implement anything to rebuild the thread tags cache, so that would still likely require custom development. Though, at the same time, the code to rebuild tags might be easy enough to insert into the existing Threads rebuild, manually (if you're comfortable with that kind of thing).