We have managed to solve this issue.
The cause was a filter overridden through functions.php called ‘woocommerce_format_dimensions’ which we were using to add some formatting to the shipping dimensions on products.
It isn’t obvious to us why this was affecting the gift card variable product, but removing it solved our problem.
Closing the support issue but leaving it here in case it helps somebody else.