Am I correct in thinking that when we purchase split tickets that the money is not going to Cross Country but to another operator even though we are on XC trains? If that is the case, then surely Cross Country are shooting themselves in the foot by having such expensive fares for the through tickets and the government are picking up the bill with subsidies?
Sort of. The revenue from each ticket is divided up using ORCATS, a BR-era piece of software that allocates revenue based on the trains (or more specifically, 'journey opportunities') that passengers are deemed likely to have taken.
In the case of a walk-up ticket the allocation is mostly based on the number of services run by each operator, although seating capacity does also play a role and there is also a weighting for different times of day (so services run at extremes of the day will earn an operator less revenue than those run during the peaks). Overtaken journeys are usually ignored or given very little revenue, unless they involve fewer changes (e.g. a slow direct train vs a fast journey with changes).
In most cases XC will still get a lot of the revenue from split tickets, as by definition their trains will run on the journeys/routes that you are buying the splits for. But on the whole, I would expect them to get quite a bit less revenue.
To illustrate the principle, consider a long-distance journey like Birmingham-Leeds - it's likely that XC will get the lion's share of the revenue of through tickets as the vast majority of journey opportunities will just involve a direct XC service. There'll be a few other operators getting a small piece of the revenue from occasional non-overtaken journeys that involve a change (e.g. when there are gaps in the XC service) but this will be the exception to the rule.
By contrast, if you split at Derby and Sheffield, XC will be getting most (if not all) of the revenue for Birmingham-Derby tickets. But they'll probably only get a third of the revenue for Derby-Sheffield tickets - since EMR run 2tph with trains that have 5-10 coaches, whereas XC only run 1tph with 4-5 coach Voyagers for most of the day. For Sheffield-Leeds the calculation will similarly result in XC getting only perhaps 50% of the revenue as, whilst their services are fast, they only run 1tph whilst Northern run 4tph (albeit 3tph are overtaken). TPE and LNER will probably also get a bit of the revenue from occasional non-overtaken journeys via Doncaster.
So overall if you split at Derby and Sheffield, XC will go from getting nearly 100% of the revenue on a through ticket, to an aggregate of perhaps 50-70% of the revenue on your splits, and on a lower overall fare too. They lose out on a lot of revenue, so it's not hard to see why they maintain high through fares - those in the know will split regardless, but those who don't know about splits or simply aren't as price-sensitive will keep on paying the high through fares. It's a very crude (and arguably unintentional) form of market-based pricing, if you will.