1, if anywhere else in the C++ wanted to use this function, it's trivial to create a vector from an array using one of the overloaded constructors.
2, this is a variable that lives on the stack for like 10 seconds. Whatever 'risks' you're thinking of don't apply here.
3, it makes the lua simpler with no downside, and you have yet to present a concrete upside aside from my decision not being 'modern'.
If it is collectively decided that it needs to be changed I'll change it, but until then I stand by this decision.