We could, but we promised we’d never charge more than the wholesale price. One experiment we’re playing with is bundling a highly discounted Cloudflare plan with new registrations. So you get registration at cost and a paid Cloudflare services at a significant discount.
Dual pricing for new vs transfers is industry standard. I'm happy to pay a one-off $1 fee for new registrations (and additional years/renewals are cost price).
I don't even think you've misled anyone by doing this, since it's essentially a new product (new domain registrations).
As a customer I would be ready to pay a bit extra rather than go through the purchase at NameCheap. wait 60 days, and then transfer dance.