When any of the 3 pages (cart, product and payment) pages go to create the PayPal SDK URL, it will attempt to add the shipping_preference param if the delivery step is not present. However, it seems that PayPal does not accept this parameter, as the request returns a 400 (bad request) and then the integration breaks. (when the param is removed it works as normal.)
https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/blob/19c00c68220fa9b7490dcc6497030809cbbfda03/app/models/solidus_paypal_commerce_platform/payment_method.rb#L77

This parameter is not listed in their current documentation:
https://developer.paypal.com/docs/business/javascript-sdk/javascript-sdk-configuration/#query-parameters
The only reference I see to it, is here:
https://developer.paypal.com/docs/api/payments/v1/?mark=shipping_preference%20