Set Participant Data variables vanishing after IVR transfer

I’m trying to pass custom variables through an IVR flow using the Set Participant Data action. I’ve mapped the JSON payload correctly, but when the call transfers to an agent, the variables are gone. I’ve checked the logging and the action seems to succeed, but the data isn’t persisting. Here’s the config I’m using.