Hi,
(First post here - so I hope it's right!)
I had the same problem.
I fixed it by going to catalog/ext/modules/payment/paypal/express.php.
Find the new line added by the module:
$params = array();
and change it to
$params = array('CURRENCYCODE' => $order->info['currency']);
It seems to override the old amount by creating a new array, and in doing so doesn't take into account the currency used. So the line after it:
$response_array = $paypal_express->setExpressCheckout($params);
uses the array which only has the amount in it. Hence PayPal defaults to USD as it's American. That's my understanding of it anyway!
I have no idea how to notify the author of this bug (or indeed if I've actually found the correct fix but it seems ok so far!)