There's several other questions like this, but they don't seem to have the same results (usually some error whereas mine appears to be successful, including showing some "ghost" version of the item which is updated).
Overview of the flow:

I couldn't avoid "Apply to each" when handling the response (despite wait for one), so I have a variable to collect the output:


My goal: I don't want to manage approvals in PA, I want to update the SharePoint list itself. My approach was to create a drop down for a decision, hidden from the default view during form submission:

The custom approval uses these same keys, and in my Update item module, I just used all fields as-is except Decision, where I want it populated by the Response variable above. The test result acts like it works, showing Approve in the Decision field (submitted blank when the item was created). This is from the Output section of a test flow:

But in the SharePoint list itself, it's still blank:

Even more odd, when I visit the URL in "Link to item" in the PA test result, the value is present:

But at the top of the screen, when I click the navigation links to the list (which presumably confirms it is indeed an item within this list vs. stored elsewhere), the value is not present in the approval view.

And if I click that item, it's not filled in in edit view either.

More interesting still, the version history suggests it was set. When I try to restore v4, it says I can't restore the current version.

Could someone suggest how I can figure out why this isn't working as expected?