Custom_attribute_values on an ITEM silently don't persist (sandbox)

I am building a Catalog API integration against a sandbox test account and cannot get custom_attribute_values to persist on an ITEM object. The write reports success, 200, no errors array, but the value is never present on read back, not even in the write response itself.

Environment: Sandbox, Square Version 2025-02-20.

Minimal repro: create a CUSTOM_ATTRIBUTE_DEFINITION of type STRING, allowed_object_types ITEM, key test_string. Create or update an ITEM with custom_attribute_values containing test_string mapped to an object with key test_string, custom_attribute_definition_id set to the definition id, type STRING, string_value hello. The response to that very write already omits custom_attribute_values from the returned object, and a subsequent RetrieveCatalogObject on that item also shows no custom_attribute_values.

Ruled out: SDK versus raw REST fetch, same result both ways. SELECTION versus STRING type, same result on both. Map key as definition id versus definition key, tried both. app_visibility HIDDEN versus READ_WRITE_VALUES, same result. API version pinned to match the docs example exactly. Always using a freshly fetched version before the write.

Is this a known sandbox specific issue, or is there an undocumented requirement I am missing? Happy to share full request and response bodies if useful.

@UKM.sr Can you please share your request and response bodies and application ID?