Разве у transform поле position имеет сеттер?
position у трансформа это свойство, свойство же в C# это синтаксический сахар и после компиляции превращается в методы Get Set, те когда мы обращаемся к transform.position выполняется метод который возвращает нам позицию, именно поэтому мы не можем присвоить значение напрямую, а сеттер там как раз таки есть