You can either:
1) update your trigger so that the shipping isn't recalculated after clicking the submit button on the confirm page (since the shipping is already calculated)
2) store the service type in a hidden form element or in the session so that it still exists when you do your final submit.
It appears you are probably using the submitted value from the checkout form directly to calculate the shipping and the form element isn't in the confirm page form so that it can't calculate it properly after the final submit.