Roger, oops, I made a mistake in the example. Sorry. The first function will definitely assign $cat_holder to $replaced_cat like:
$replaced_cat = $cat_holder[0];
So the issue is that the value of $replaced_cat is not available to the second function. It does work outside of the plugin if I I call each function in sequence, but it does not work in WP when they are called in order via the two add_filter calls.