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

You will get callbacks about the payment to your payment callback URL. Moreover, you will get callbacks about the agreement to either success or failure 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 of both agreement and OneOff.