Since the shipping methods restrictions can be based on the total of the order, the shipping methods selection has to be reseted indeed.
If you want, you could have the coupon view on both steps:
login_address_shipping_coupon,payment_terms_confirm_cart_coupon_status_fields,end
For the fact that the coupon is not working properly, that's because we didn't thought about having that view on a step without the cart view. The fix is easy, just add the line:
$this->assignRef('coupon',@$cart->coupon);
after the line:
$coupon_error_message = JRequest::getVar('coupon_error_message','');
in the file components/com_hikashop/views/checkout/view.html.php