This is one of those situations where you can technically set up a model that would use the custom object, but you're going to lose a lot of the built-in functionality around Revenue Cycle Explorer and Salesforce's Campaign Influenced Opportunities and would need to write additional workarounds to get that same level of dissected reporting.
It's probably not what you want to hear because it's a lot of initial setup, but I've dealt with something almost identical to this before and simply had tickets generate as custom objects once an opportunity was closed won (because this also allows you to measure things like bulk ticket purchases distributed to multiple contacts/person accounts you have in the system, calculate season tickets down to per-event ticket instances, etc.) This way, you get the best of both worlds--you can track tickets themselves apart from the actual financial transaction but still use Marketo and SFDC's tools for revenue.
You are definitely asking the right questions. You can store transactions in Custom object but they are not available for Revenue cycle Analytics. If you want RCA you need opportunity and Opportunity Person Role.
PS - I am in the same boat.