There was nothing wrong with your solution tbh. I find renmans redundant. There is no benefit in storing an additional variable for something that is readily available.
The actuality is that storing the GameObject and then referencing it as object.transform.position, actually references it like this: gameObject.GetComponent(Transform).position. Clearly it is quicker on the processor if you store the transform and reference it specifically. However, it does not get that much gain unless you are doing it hundreds if not thousands of times per frame.
You know, this whole time I was under the impression that transform.position was just accessing a member variable (that I presumed was automatically populated during creation), not doing an internal lookup… what a stupid design.