Glad I could help.
The `VariableReferencesLocator` looks good, but I'll suggest one possible improvement. If instead of passing in to the constructor the name of the field you want to rename you were to pass in the element for the field (which I'll call `targetElement`), and changed the condition inside `visitSimpleIdentifier` to compare elements (`node.staticElement == this.targetElement`), then it would only find references that you need to change, and you wouldn't need to filter them later. But as I said, I don't think there's a problem with the locator.
The problem is likely happening because of the arguably non-intuitive way we handle fields in analyzer.
As you know, in Dart every field induces a getter and, if it isn't final or const, a setter. Most references to a field are really invocations of the induced getter or setter. But users can also define getters and setters that are not backed by a field. And, there are a few place where fields can be referenced directly without becoming invocations of a getter or setter (such as in a constructor's initializer list). Similar semantics apply to top-level variables (but not to local variables).
Those semantics led us to defining two different classes of element: a `FieldElement` to represent the field itself, and a `PropertyAccessorElement` to represent a getter or setter. If you have a non-final field named `foo`, there will be three elements: a `FieldElement` for the field, a `PropertyAccessorElement` for the getter and a second `PropertyAccessorElement` for the setter.
When you're visiting an AST and you find an identifier that references a field, except in special cases like constructor initializer lists, we set the `staticElement` of the `SimpleIdentifier` to either the getter or the setter (depending on which of the two would be invoked at that point). The other special case, which is probably what's causing the problem, is that the `SimpleIdentifier` in the declaration of the field has it's `staticElement` set to the `FieldElement`.
So, looking at the code outside the locator: