No, doing anything before or after processReport() won’t help you. You want to change the behavior of processReport() itself. And you shouldn’t use method handlers anymore - chain of command (CoC) is easier to use, safer and more powerful.
createData() method is defined and used in the controller we’re talking about - VendInvoiceDocumentDP. It has nothing to do with either SRSReportDataProviderBase or SrsReportDataProviderPreProcess, which wouldn’t be useful to you anyway. What would be the point of putting the logic to SRSReportDataProviderBase if it works only with VendInvoiceDocumentContract and therefore it works only in VendInvoiceDocumentDP (and not in any other class inheriting from SRSReportDataProviderBase)? VendInvoiceDocumentDP is indeed the right place for your logic.