When using the acf/update_value/key= and acf/update_value/name= filters on a repeater field, the $value is different from when the acf/update_value/type= filter. With the key and name specific filters the $value is always the number of rows within the repeater and with the type filter it’s an array of the row values. It looks to be because the $value variable is modified before getting to the name and key filters when the field type is a repeater in the acf_update_value() function.
Is there any other way to grab the full array of values for a repeater via a filter by key or field name?
That sounds like a bug to me. The key and name parameters should also return the full array rather than the actual value saved on the repeater field in the DB (the repeater fields saved value IS just the number of rows).
I’ll assign @elliot to this and we’ll see what he says 🙂
In the meantime you could use the type parameter and immediately do a check of the field name and just hit return $field; if it’s not correct.