Sorting first checks if the data is already sorted, and return directly if so. In your example you sort the vector v in place with your first call to sort!, so the remaining calls will not do any sorting. You can use setup=(...) for cases like this (see BenchmarkTools.jl documentation):
Even this doesn’t seem fireproof. Shouldn’t it have evals=1, otherwise you may run into the same problem for the second case, for shorter vectors, for example.