Solved! Woo-hoo!
What wasn’t clear to me was that the variables listed next to the Email Template Form are actually PayPal variables and not EE variables.
Checking the IPN found that {payment_fee} and {payment_gross} were empty. Why?
PayPal’s IPN Variable Reference had the answer:
payment_gross =
Full USD amount of the customer’s payment, before transaction fee is subtracted. Will be empty for non-USD payments. This is a legacy field replaced by mc_gross. If this amount is negative, it signifies a refund or reversal, and either of those payment statuses can be for the full or partial amount of the original transaction.
So, basically, it’s a deprecated variable and only works with USD. My payments were with NZD, which is why it wasn’t displaying in the email. Instead, I needed to use mc_gross.
It might be worth pointing that out in the Docs, as they suggest something which only works for one currency and is now deprecated (and therefore isn’t that helpful).
Thanks anyway.