You’re running into one of the common limitations with Shopify Flow - combining order-level conditions (shipping address) with line-item / collection logic using OR conditions can get messy very quickly.
Conceptually, what you want is:
Condition A: Shipping province ≠ CA
OR
Condition B: Any line item belongs to Collection X
Flow can technically do parts of this, but once you mix nested “any line item” checks with OR logic, it becomes hard to maintain and easy to break.
A lot of merchants solve this by using a rule-based tagging approach instead of Flow, where you define the conditions once and the tag stays in sync automatically for new orders and existing ones.
If helpful, I’m happy to share how we handle this pattern in production.