+IntExpr1 xor +IntExpr2 is marked [ISO] which suggests to me that xor/2 can be used as an infix operator in any [ISO] compliant processor. TC2, however, doesn't not prescribe that.
?- X is 1 xor 2.
- does work out-of-the-box with SWI-Prolog 7.3.16, XSB-Prolog 3.6.0, and B-Prolog 8.1.
- does not work out-of-the-box with GNU-Prolog 1.4.4 and SICStus Prolog 4.3.2.
How about clarifying the issue in the documentation?
xor(1,2) is more easily portable than
1 xor 2—as long as no additional operators are defined.