Jordan Thompson triumphed in a deciding tie-break to beat Alexander Zverev and reach the final of the Los Cabos Open.