Document UDT members cleared on Gateway restart

I'm having an issue with Document tags in a UDT. I'm saving an array to the document tag, and everything is working as expected, until the Gateway service restarts. After a restart, the Document UDT members all get set to null.

A single document tag (not a UDT member) looks to be working OK.

I did find this post from a couple of years ago about saving arrays into a document. As mentioned there it takes a round about way to get a Document to be an array and not an object - either sending the value through scripting or editing the raw value in the Tag Browser. Arrays also read as array.array objects, not PyDocumentObjectAdapter. It feels like using an array happens to be working, but maybe isn't officially supported?