Permalinks not working for custom taxonomy on custom post type

There was nothing wrong with my code above. I found the answer at the bottom of the Taxonomies page in the Codex:

If your site uses custom permalinks, you will need to flush your
permalink structure after making changes to your taxonomies, or else
you may see a “Page Not Found” error. Your permalink structure is
automatically flushed when you visit Settings > Permalinks in your
WordPress dashboard.

In my plugin I already had flush_rewrite_rules(); being called upon deactivation, and I had deactivated and reactivated it several times. The fact that this didn’t work really threw me for a loop.

But as soon as I visited Setting > Permalinks it all worked correctly!