Will we get one callback for both the signup and OneOff or one for the signup and one for the payment?

Regarding the callback. You will get callbacks about the payment to your payment callback URL. Moreover, you will get callbacks about the agreement to either success or cancel callback url you have set upon agreement creation. However, you will not get callbacks for either, before their status changes. So you should expect a callback when the agreement is accepted/rejected/expired and a callback when the OneOff is either accepted/rejected/expired.

The response for agreement creation on the other hand, consist both agreement and OneOff.