The MTB front mech is the only bit with a question mark hanging over, technically not compatible due to cable pull differences but can be made to shift*, depends how picky you are.
a roady triple front mech wouldn’t handle a granny ring that small,
Again, question marks… and a matter of exact models as cage profiles do change over time and between groupsets. Shimano tech docs are a mine of good info too! The issue is normally at the other end in terms of cage matching big ring radius, tiny granny rings are not so much of an issue, especially if you use a dog fang. The only become an issue when you couple them with a big outer ring meaning the cage isn’t deep enough for the chain not to rub on the bottom of it (when positioned high enough to clear the other rings).
For example I have an 8 speed Sora front mech that has been shifting a 48/38/24 triple on an audax bike for more miles than I can count and you’d be hard pushed to tell it wasn’t built to do just that it’s so reliable.
On the other hand I have a 9 speed Tiagra triple mech that just will not reliably shift a 48/36/26 triple on another bike no matter how hard I try, eventually put a 105 double mech on and bizarrely that’s better!
Have a look at the mechs meant for flat bar road/treking/touring chainsets as they are often meant for ~46-48t instead of 50-52T big rings (and consequently smaller middle/granny rings) and check compatibility with cable pull but you might find a decent match somewhere there.
*I won’t go as far as to say ‘work’