Hi Julie
I looked into this a little, but I didn't get too far, and I don't think I can go much further as this is really custom development work.
First point to note is that in your code you are updating the locations of the terms and term_taxonomy table but are missing other relevant tables.
I made a stab at updating your code (in a slightly more generic form):
function tssupp_global_taxomomies(){
global $wpdb;
if ( $wpdb->prefix != $wpdb->base_prefix ){
$wpdb->terms = str_replace( $wpdb->prefix, $wpdb->base_prefix, $wpdb->terms );
$wpdb->term_relationships = str_replace( $wpdb->prefix, $wpdb->base_prefix, $wpdb->term_relationships );
$wpdb->term_taxonomy = str_replace( $wpdb->prefix, $wpdb->base_prefix, $wpdb->term_taxonomy );
$wpdb->termmeta = str_replace( $wpdb->prefix, $wpdb->base_prefix, $wpdb->termmeta );
}
}
add_action( 'init', 'tssupp_global_taxomomies' );
Echoing out $wpdb I can see that on a subsite the table names are successfully being updated in $wpdb.
But when navigating in the WordPress backend between the sites and adding terms etc. this is not functionally effective.
If you want to trick WordPress about the location of the taxonomy tables you need to do it in all circumstances for it to behave as intended and not have functional gaps and for it to work with plugins, such as but not limited to Toolset.
And I think the base problem in that case is that the init hook is too late for this.
Have a look at the hooks sequence: versteckter Link
You need the code to run very early, before other plugins, so I think the best place to try would be in an mu-plugin.
But even then it may not work.
If that's the case I can't really help any further as it's an unsupported feature that you would need to file a request for: https://toolset.com/home/contact-us/suggest-a-new-feature-for-toolset/