In my perspective I think it’s not bad at all to let Google index your tag or category pages, especially if you have something bold like unique meta and another SEO stuff.
I’m not sure if there is better workaround but in my case I’m using .Scratch in my tags template (layouts/tags/taxonomy.html) and then using conditional logic in meta template
for example
{{ if $.Scratch.Get "tags" }}
<meta name="robots" content="noindex, follow" />
{{ end }}
the alternative and the easier way is to prevent Google crawl the tags pages via robots.txt,
Note: you have to make sure that the tags pages not appears in your sitemap
About front matter maybe you can found the answer here