Order Metafield populated through API not detected

I’ve got an order metafield called custom.InvoiceData that accepts json.

I’ve got a custom customer order page that displays the data in InvoiceData if its not blank.

I’ve populated the data on the orders using the metafieldsSet mution and can see the data from the admin site and from separate API calls.

The customer order page is not seeing the data unless I physically cut the data out of the field, exit the order, go back into the order, and paste the data back into the field.

What am I missing?

Additional details. I added a new metafield of type single_line_text_field, modified the order page, and populated the new metafield via the API. It took a second, but the field shows up correctly.

Can someone please verify if JSON metafields work?

Just in case someone else comes across this, the solution turned out to be easy. Turns out the Liquid language is case sensitive. The capitalization on the metafield doesn’t matter (InvoiceData, invoiceData, invoicedata), what matters is the casing from the API call.

If metafieldsSet is called like this:

[{"key":"invoiceData","namespace":"custom","ownerId":...

then the Liquid code variable has to be custom.invoiceData.
What makes this more frustrating is, it appears that the API technically isn’t case sensitive, so calling any casing of the key will return results.