A little more info regarding DigitMap handling and call routing in the case of Trunk Groups...
It appears that when the PHONE Port DigitMap is being evaluated, (Mtgx) references are only applied to that Trunk Group's DigitMap. The DigitMaps of the trunks in that Trunk Group's TrunkList are not applied.
It appears that when the PHONE Port OutboundCallRoute is being evaluated and TGx is the terminal (destination) of a matched OutboundCallRoute rule, that rule is effectively replaced and expanded into multiple rules, one for each trunk in the TrunkList. For example, if Trunk Group 1 has a TrunkList of sp1,sp2,vg3, then the rule:
...,{(Mtg1):tg1},...
if matched, effectively becomes
...,{(Msp1):sp1},{(Msp2):sp2},{(Mvg3):vg3},...