Set Participant Data action not persisting custom variables in Kotlin SDK

Trying to push a custom variable loyaltyId through an IVR flow using the Set Participant Data action. The API call to /api/v2/conversations/webmessaging/{conversationId}/participants/{participantId} returns 200 OK, but the variable never shows up in downstream actions. Here’s the payload:

{
 "data": {
 "loyaltyId": "12345"
 }
}

Is there a specific mapping required in the Architect config for external data actions, or am I missing a flag in the request?