I have been running the following XT 9/10 mix for 9 months without issues:
9 Speed – LH Shifter, Front Mech and Crankset
10 Speed – RH Shifter, Chain, Cassette and Rear Mech.
I think technically you’ve been running a 3 speed LH shifter and a front mech and chainset designed for use with 3 chainrings.
Unless you’ve got 90 gears on your bike!
It’s well known that 9/10 speed chainsets are interchangeable, and the front mechs to a lesser extent. What you can’t do is mix and match anything on the back end, unless as mister P says you use a mix of roadie 10spd stuff with your 9spd MTB stuff. 10spd MTB rear mechs and shifters have a completely different cable pull ratio which means they can’t be used with anything that has gone before. But the front shifter and mech is still totally the same pretty much, so doesn’t matter.