I don't think this is the extension's fault, but rather Spree's.
The problem is that the file payment.js.coffee calls submit() (unnecessarily) hijacking the flow from braintree and submitting the form before the payment method data can be received.
I'm opening an issue about this in Spree, but I thought it should be referenced here too.