I had a serious look into these issues some time ago as a result of porting some SICStus code using zillions of complicated operators. Both SICStus and SWI allow for more than ISO wrt operators. Mostly they agree on the parse, sometimes not and notably SWI-Prolog rejects more than SICStus. I also had some discussion with SICStus about these issues. Despite the fact that they are very keen on ISO compliance they didn’t consider restricting to the ISO operator rules as it would upset too many customers.
I don’t know what ISO says about this case. From a declarative perspective on the operator precedence rules I guess it is ambiguous. Does ISO dictate a resolution? Or is this supposed to be a syntax error? If ISO dictates a solution I may have a look at resolving this. If not, I think I’ll simply stick with the advice to carefully design your operator priorities.