It doesn’t create a view, it makes a copy. You can also do reverse! to work in-place — this is the fastest option (that actually moves data) for large arrays.
Note also that the default is to reverse all the dimensions, so if that is what you want then you can simply do reverse(a) or reverse!(a).
julia> @btime reverse_all($x);
1.152 s (14 allocations: 1.53 GiB)
julia> @btime reverse($x);
1.171 s (3 allocations: 1.53 GiB)
julia> @btime reverse!($x);
385.043 ms (0 allocations: 0 bytes)
PS. Implementing multidimensional reverse! is fun and surprisingly compact, heavily using CartesianIndices tricks and recursion over the dimension.