Unfortunately, while Shopify supports including metafields within the Order Confirmation email template, that doesn’t include support for metaobject types at this time. I asked Shopify support about this, who confirmed the situation as below. I was asking about Customer metafields, but I expect this goes for all resource types including products, orders, line items, etc.
You are correct in noting that regular metafields can be accessed using the syntax you’ve mentioned ({{ customer.metafields.custom.message }}). This is indeed possible and should be documented more clearly.
As for accessing Metaobjects from a customer within the email templates, this functionality is currently not supported. However, given your successful use of regular metafields and the potential for extending this functionality, I understand the importance of this feature for you and other merchants.
They say that they’ve submitted it as a feature request, so perhaps they’ll add support for this in future. It’s worth keeping track of the Shopify Changelog, as they mention platform updates and changes there.
You might want to explore using Flow to copy data from metaobjects, so long as there’s a trigger event that’ll do that when you need it. In your case, perhaps you can use the Order created trigger to copy selected product metafields to the order as cart attributes, order notes, order metafields or a similar approach. It does depend on what you are trying to achieve and where / how you are attempting to show this data, though!