It seems like your idea is sound, but these things often break down not in the logic, but in the details.
I’d first check two things:
Does the list of rows even reach the Iterator?
Sometimes it doesn’t return all the records or even an empty array due to filtering/pagination.
Is the correct ID being passed to the Update Row?
This is the most common problem: everything looks fine visually, but the wrong entity is updated, or nothing happens at all.
And another thing:
Sometimes these automations “silently” crash on some rows due to limits or timeouts, especially when there are 600+ of them.