$\newcommand\kVect{k\text{-Vect}}$When people say ‘canonical’ what they mean in this context is something like ‘definable without parameters’ (i.e., without choosing bases; actually, without choosing anything at all). See for instance [the entry for “Definable Set” in Wikipedia][1]. The important point is that canonical objects are invariant under automorphisms that preserve the relevant structure. This means our isomorphism $V\to V^*$ should be invariant under all automorphisms of $\kVect$ that preserve the dualizing functor, considered as a contravariant functor from $\kVect$ to $\kVect$. This is not possible to obtain even for one finite-dimensional $V$. The reason is that with respect to some bases $B$, $C$ on $V$, $V^*$, a given isomorphism has the form of an identity matrix. But for any matrix $A$ representing an isomorphism $V\to V$, there is an automorphism of $\kVect$ which preserves the dual space functor and which transforms the representation of the given automorphism (with respect to the same bases $B$, $C$) to $A^T A^{-1}$. We can find a matrix $A$ for which this expression is different than $I$ (unless $\dim(V)=1$ or $\lvert k\rvert=2=\dim(V)$, as I learned [here][2]). Thus the isomorphism $V \to V^*$ is not preserved by this automorphism. [1]: https://en.wikipedia.org/wiki/Definable_set#Invariance_under_automorphisms [2]: https://math.stackexchange.com/a/622695/273756