The primary downside of non-FHIR resources is that you can't use FHIR infrastructure - the reference implementations, test servers, IGPublisher, Validator, etc. won't work with them (though if you want to go through the work, you can create custom versions of them that will). Another alternative might be to support the "new" capabilities at a separate endpoint that might be able to take advantage of STU3 or even a snapshot of R4. (That would give you AdverseEvent and perhaps what you need of the financial information, though may not cover HR.)
As you've noted, the primary downside of using Basic is that everything's an extension - which makes for large and rather ugly resources.
We've talked about adding the ability to support "custom" resources into the infrastructure but the community hasn't generally been in favor - they see it as a fairly big leap onto the slipperly slope towards proprietary silo-based interfaces. And that, I suppose, is another argument in favor of Basic.