The code in the paypal 6 module, in controllers/front/expresscheckoutconfirm.php, function assignCartSummary(), the assignment:
$cart->idcarrier = arraykeys($deliveryOption)[0]
Could that be the problem? Other code in core that picks the id_carrier from deliveryOptions does it differently.