Even programming it to 100% of the actual feedrate, the machine still move the Z axis up and down during the cut by the THC.

It would do that - setting 100% is telling it you are ok at any speed.

Mine is set at 70% i think - if my code commands a feed rate of 4000mm/min but Mach3 computes it needs say 2000mm/min or 50% of my commanded rate for a corner it will stop the THC for that contour and resume it as soon as the machine accelerates to more than 70% again.