Issue with handle#OrderItemChange service running on EECA with ID `OrderItemHandleChange`

Hello all,

We are facing an issue with service handle#OrderItemChange being called inside EECA with ID OrderItemHandleChange.
The service has the below if condition (which inside of it has a service call which eventually calls the promotions service to apply any promotions attached to store)

<if condition="!originalValue || quantity != originalValue.quantity || unitAmount != originalValue.unitAmount ||
                    selectedAmount != originalValue.selectedAmount || orderPartSeqId != originalValue.orderPartSeqId">

In our case we already have an existing item and we are only updating its productPriceId field, which triggers the EECA and then triggers handle#OrderItemChange service but the above if does not enter and therefore the promos I have on my store would not run when I need them to.

Any idea what we can do in this case? any help would be appreciated

Also, any reason why handle#OrderMajorChange is not called all the time on any order item/part change? Why is it condioned?