artificial block size cap? What, either technically or not, is preventing bitcoin core miners from expanding the number of transactions included in each block?

Wouldn't the corresponding increase in maximum number of transactions per second, and higher compensation per block, be a welcome benefit?
The same thing that keeps them from increasing the mining block reward. Everyone else would consider their blocks invalid and so there would be no benefit at all.