Because you don't explicitly save the subrecord be...
# suitescript
w
Because you don't explicitly save the subrecord before saving the salesorder record in SS2.0, the UPS calculation happens BEFORE the subRecord is set, therefore NS has no shippingaddress to calculate the rate.