The JSON arrays above describe schema fields. They are not related to Array_* type strings.
Array_* types are field types; use them when a field itself stores an array.
Default/system fields
TokenSchemasBuilder always adds default fields, so you should not include them in JSON:
Series metadata: _i, mode, rom.
NFT ROM schema: _i, rom.
Standard NFT fields requirement
When using fromJson, the builder verifies that the standard NFT fields exist in either seriesMetadata or the NFT rom schema:
name
description
imageURL
infoURL
royalties
RAM and DynamicExtras
If ram is an empty array, the SDK sets the RAM schema flag DynamicExtras. This causes extra RAM fields (not defined in the schema) to be serialized. When you define RAM fields, DynamicExtras is not set, so only schema-defined RAM fields are serialized. This means any extra RAM fields you include are dropped and cannot be read or updated later.