Answer
This is usually the API's own internal business logic re-deriving and overwriting that specific field's value during the Modify call, regardless of what was explicitly passed in — some fields (like a tax code) can be recalculated or reset based on other order-line data as part of the standard Modify validation/calculation logic, which silently overrides an explicitly-passed value for that field while leaving unrelated fields exactly as passed. Confirming this requires stepping through the Modify method with breakpoints around where that specific field gets set, to see exactly which internal logic branch is reasserting its own calculated value over the one your event action passed in.