This makes at least some sense to me. Our in-house rule of thumb for button styles vs link styles is something like “Links are for navigating, buttons are for user-initiated actions”. It’s vague, and not always followed even so, but the point is to match what the users *think* they are doing rather than necessarily what they are *actually* doing.
In the case of “Checkout”, that’s an action. It doesn’t say “Cart,”or “Order Details,” or even “Checkout Page.” When the user clicks it, their mental model is likely to be “this button will initiate the checkout process. *I am doing something* by clicking it.”
Depending on how the interface is set up, this may not be an accurate mental model. In James Robinson’s example, where data is being passed to the checkout process *because* the user clicked the button, it is accurate. In most cases that I’ve seen, it would not be accurate because the checkout process is already set up and ready to go the moment the user adds something to the cart, and the “Checkout” link simply takes them to a page displaying their order details.
If you don’t want users to think that “Checkout” is an action, maybe different wording should be employed; restyling the link is just a band-aid.