Your current method (manually creating a new array) has similar complexity to unshift()—both are O(n) because all existing elements must shift, but unshift() is optimized and more idiomatic.
Unless you’re handling millions of items and profiling for performance, stick with unshift() for clarity and efficiency.