As a final update, I have heard back from the Shopify team:
The issue seems to be one related to our docs, and it will be updated. The order cancel endpoint only attempts to refund any money that has been received from the customer when you include the amount field. For an authorisation, since no money is captured, there is no attempt to refund.
They have instead advised that cancellations should be done in two steps. First, to issue either a void or refund where applicable, using the transaction endpoint. Secondly, to then cancel the order using the order cancel endpoint as described previously.