Just an update on what Development found in researching this matter:
For card-based Direct Payments, we're transmitting the Billing Phone as PHONENUM and Shipping Phone as SHIPTOPHONENUM, which is what they document for those fields. It sounds like PayPal just isn't displaying Shipping Phone numbers at all for Direct Payments (at least not where you were looking), though this doesn't explain why you ended up with no phones in QuickBooks for 0VV058426M9160518 which does show both numbers in our log, so that sounds like a bug in your QB integration service.
We did discover a bug in our integration with Express Checkouts going thru PayPal's checkout site; we weren't correctly capturing the Shipping Phone from them, so that number wasn't making it into our Transaction Logs, which would explain why you wound up with a Shipping Phone in your QuickBooks that wasn't present in your EJ log for 4YK2779580957415P.