Applying DFT twice does not actually reverse an array. Instead, the first element stays in place while the rest of the array is reversed. Why? I've heard a million times that applying DFT twice will result in a reversed array, but that is not what actually happens. Instead, the first element remains where it was, and the rest of the elements are reversed. Is there an intuitive reason for that?
Octave code:
N = 16;
x = linspace(1, N, N);

fft(fft(x)) / N

Result:
1   16   15   14   13   12   11   10    9    8    7    6    5    4    3    2
The sequence is exactly what you should expect:
$$x[-n]=x[N-n]\tag{1}$$
Clearly, for $n=0$ $x[n]$ and $x[-n]$ have the same value.
It seems like you were expecting to see the sequence $x[N-1-n]$ instead of $x[N-n]$. If you wanted that sequence you would need to modulate the result of the first DFT:

N = 16;
x = 1:N;
c = exp(-1i*2*pi/N*(0:N-1));
x2 = real( fft( ( fft(x) .* c ) ) ) / N;    % real() just to remove rounding errors
x2 =

  16  15  14  13  12  11  10  9  8  7  6  5  4  3  2  1