A physical address would only be collected during checkout if the order contained any items with Shipping enabled in your Seller Admin. If no items have Shipping enabled, then PayPal (or other payment processor) is not triggered to collect or pass back the buyer's shipping address.
We can only support standard uses of our service as-documented. Development might have a better notion than I of what "off-label" hacks might possibly work, but we have only tested our standard, documented procedures and can only promise that those would work reliably and predictably. You're welcome to attempt custom hacks to add nonstandard functionality, but that would be entirely up to you to experiment with and troubleshoot on your own. E.g., you could try passing additional fields to PayPal by appending them to the button URL as additional &name=value parameters, then maybe use your own custom scripting to append those parameters in your page dynamically based on the buyer's activity on your site.
The PayPal page you referenced appears to document ways of passing pre-populated data for PayPal new-account sign-ups. E.g., if you pass those fields and the buyer does not already have a PayPal account but decides to enroll for one during their checkout, then those fields would fill in that data in their new-account profile. It does not say those fields could be used to pass or pre-populate data with the order for non-PayPal-account checkouts (i.e. when PayPal offers a direct-card payment option without a PayPal account), nor would it override any data already saved to a PayPal account holder's profile.