v1(2:5) creates a temporary vector. Some timings looks, like 2:5 is not created, but the indexing is done transparently. Then calling the function sum() costs some time also: The inputs must be parsed - or without inputs, as in your case, default values must be created.
The JIT acceleration is not documented. I assume, the explicite sum can be evaluated more efficiently, because it is less flexible. Maybe some unrolled loops can accelerate the full code, but this is not sure. Some tiny artificial test computations do not reflect the actual efficiency of the computations.