После первого цикла с сылкой внутренний указатель ссылки остается именно на элементе $arr[3] !
При повторном foreach проблема именно с $arr[3], она на первой итерации ссылается получает значение первого элемента массива, если в этом месте сделать выход из цикла, то массив будет вида (2, 4, 6, 2), на аторой итераци, примет значение второго элемента (2, 4, 6, 4), на третьей итерации - значение третьего элемента (2, 4, 6, 6), и на последней она примет значения самойсебы, что с предидущей итерации мы видим у четвертого элемента значение 6, значит (2, 4, 6, 6)
Т.е. в последней ячейке массива лежит ссыль на $value, которая при каждой итерации принемает значение текущего элемента массива, ну и в конце ссылается на саму себя, доставая результат, который был записан на предидущей итерации...