XP doesn't seem to allow you to select the LX code share on the YUL-YYZ flight.. only the "real" AC flight #
I suspect that is why it is not pricing out the same...
Seen that problem before when the code share was cheaper... But if you can't select it the fare isn't going to price out... If you were to search on ITA for the return as
BCN:: LX+ AC
YYZ
..to match up exactly with what XP is offering.. I think you'd find the $1104.10 price you are currently getting....(ish!)
Don't know how to get around that other than taking the itin to a TA....