It's got nothing to do with incurred cost. Goods and services are not priced at cost + margin, they're priced at whatever the market will bear.
A->B is a higher demand ticket than A->B->C, so the market bears a higher price for that ticket. By getting off at B, the traveler has "stolen" the difference in those two prices from the airline, as the airline would have charged the skip lagger or another direct flight customer a higher price.
Ya it's an interesting economic puzzle, given the unique nature of the airline business.
I think ultimately the incentives work out to exactly where we are, airlines will simply ban travelers from their services when skiplagging is discovered.
There's no reason to offer services to travelers who pay less.
Quite a few smaller cities offer subsidies to carriers to bring traffic to their cities. Those same cities might not be happy when travelers use the subsidies to go to the big hub for cheaper and instead. It might even be contractually agreed that the carrier has to make sure they go where they're supposed to, thus the rules we see.
Since there is less demand to fly from point A to point C via point B, the price point is lower.