I'm new to HPR, sorry if I make comments that show ignorance of how you do things.  Please point me to resources, I'll be happy to read up.

I'm not a big DB expert either, but like you have used some DBs and have a little experience.  Also a bit of experience making a couple of database-backed web sites.

I like the idea of the third design of tags.

I would also change the HPR episode intake process to make any new tags in the new format - have a cutover date/time after which all the new entries in the database use the new tagging scheme (populate the new tags tables and not the old tags fields.  In fact, even remove the old tags fields to avoid confusion about which set of tags is the "right" set).  That way you only have to do that "populate the new tag fields from the old tag fields" step once, at cutover time.  You could keep a copy of the old site (and update it) for a while until confident the new site works properly.

I don't know how the HPR web site is served, I got the impression from your series that it is static pages generated from a DB.  Perhaps you generate a new set of pages when a new episode is added to the DB.  I think you cannot go this way if you want to use that query you developed, "what other shows have at least one of the tags that this show has".    Or at least, it will be difficult to implement.

Can I read somewhere about the way the web site is served, the tech stack, etc?  Is there a public repo for the code (read-only acceptable)?

Thanks for all your great, extensive show notes!  Really appreciated.