Hi,
The PayPal Checkout plugin will set the shipping_preference to SET_PROVIDED_ADDRESS when it can provide the shipping address of the customer to PayPal. For that to happen, the shipping address has to have the firstname, lastname, street, city, post code and country fields filled in. If one is missing (because the field is disabled, or not required and the customer didn't provide it), then the plugin cannot send the partial address as PayPal would just return an error message and prevent the transaction from happening.
So in that case, it sets the shipping_preference to NO_SHIPPING
Thus, I suppose you must have disabled some custom address fields in the Display>Custom fields and that's why you get that behavior.
The previous PayPal plugin didn't had that restriction as even with a partial address, PayPal was still able to process the transaction and just let the customer fill in the missing address fields.
We avoid using GET_FROM_FILE because it would mean the customer would have to enter again his shipping address on PayPal, and it could end up being different from the address in the order on your website, which could lead to shipping mistakes.