Taxonomy entries are spawning copies of existing entries with the new title as the existing ID, since upgrade

I’ll answer this myself, though kudos to @jacob-peattie for noticing the selection box was non-standard and a likely culprit.

So we had the ‘Radio Buttons for Taxonomies’ plugin running (up to date) with the affected taxonomy types selected there.

When we removed the taxonomies from there, the problem stopped.

But we wanted radio buttons here so tried a few things. One thing that did work was this in the end:

This was our original arguments for the taxonomy, and this produced duplicates:

  $args = array(
    'hierarchical'      => false,
    'labels'            => $labels,
    'public'            => true,
    'show_admin_column' => true,
    'rewrite'           => array( 'slug' => __( 'article-type', 'sage' ) ),
  );

When we add this meta_box_cb line it works as expected and no more duplicates:

  $args = array(
    'hierarchical'      => false,
    'labels'            => $labels,
    'public'            => true,
    'show_admin_column' => true,
    'meta_box_cb'       => 'post_categories_meta_box',
    'rewrite'           => array( 'slug' => __( 'article-type', 'sage' ) ),
  );

It seems a bit crazy, but I tested this several times and at least in our case it is the solution.