The SPListItem being updated was not retrieved with all taxonomy fields

Turns out it’s a central admin setting that throttles the lookup return count, and Taxonomy fields are just lookups under the hood.

Go into Central Administration –> Manage Web Applications, select your web application, and then in the ribbon choose the dropdown under General Settings select Resource Throttling. Find the setting for “List View Lookup Threshold” and raise it from the default 8 (can go up to 1000, but 20 is likely fine depending how many lookup fields you’re pulling back in your SPListItem).