Note that transparent treatment of newtype-style structs is just an implementation choice of serde_json; the field is still wrapped with serialize_newtype_struct, which merely encourages serializers to consider treating it fully transparently.
To hide the layer completely from serializers, it’s also possible to use #[serde(transparent)] instead. This is also compatible with named fields.
Ah yes, forgot about serde(transparent). I was looking into making serde(flatten) work on the inner field, but it doesn't work with collections. My other thought was serde(untagged), but that obviously only applies to enums.