Some general rules of thumb:
The front crank does not care how many speeds are in the back. 9-10-11 speed chains all have the same internal width, it is the external width that is different. Using a 10 or 11 speed crank with 9 speed chain and vice versa provides acceptable performance in my experience.
I have had very good luck using deore XT 10 and 11 speed cranks with 9 speed gearing. The one caveat is that the chainline for road and mtb is slightly different. MTB axles are wider.
The really hard part is finding an appropriate shifter/derailluer combo to shift an MTB triple. If you are currently running a compact crankset, then keeping your current derailluer/shifter and switching to an MTB crankset should be a workable solution, provided you can lower your current derailluer enough to match the outer chainring. You might also need to grind the derailluer cage a bit to match the curvature of the outer chainring.
The thing to keep in mind is that everyone has a different definition of "works". The more you stray from shimano's recommended configuration, the less guarantee of flawless shifting. Only you can decide if it's good enough. I'm sure that there are people that would find the bikes I build and ride completely usable.
My 2 cents:
If money isn't a limiting factor, I would seriously consider switching to an 11 speed MTB 11-40 cassette in the back and a double chainring in the front. With the explosion in gravel bikes, support for this setup is increasing. Shimano MTB 11 speed will work on any older shimano 9 speed or greater capable freehub.
There are also conversion kits that allow you to add a 40t cog to an existing 10spd cassette. With add-ons like the Wolftooth road-link, you can shift these cassettes with current long cage road derailluers.