Commerce checkout - Update cart pane after user select a shipping option (ajax)
You are right. Shipping rates are applied only after you submit the form (Click "Next"). 

On submit all your shipping rules(or flat rates) applied and order is saved with new line items (Shipping is implemented via custom line item type).

The calculation is executed in the commerce_shipping_pane_checkout_form_submit()

So you can try to execute this function (or some parts of it) in the ajax callback before the cart is updated.

Here is an example how to apply shipping rates if you are using using Flat Rate Module:
Adding shipping to order programmatically via module.