Some people (including me) think that *"canonical"* should be synonymous with *"natural on isomorphisms"*. Doing so solves the problem of variance in the definition:

If you look at the category of finite dimensional vector spaces and linear isomorphisms between them, here $V \mapsto V^*$ can be made into an actual (covariant) endofunctor of this category as you can fix the contravariance by inverting the morphisms, so that an invertible arrow $f:V \to W$ induces $(f^*)^{-1} : V^* \to W^*$.

And there you can concretely show that there is no natural isomorphism between this functor and the identity.

Indeed, chosing an isomorphism $V \simeq V^*$ gives you a non-degenerate bilinear form on $V$ and you can always find an automorphism of $V$ that does not preserves this bilinear form, which is exactly what the naturality on isomorphisms would mean! So at the end of they day, one recovers exactly the argument that [Paul Taylor](https://mathoverflow.net/questions/385955/how-can-we-make-precise-the-notion-that-a-finite-dimensional-vector-space-is-not#comment983821_385955) or [Chris Schommer-Pries](https://mathoverflow.net/questions/385955/how-can-we-make-precise-the-notion-that-a-finite-dimensional-vector-space-is-not#comment983873_385955) made in the comments, but starting with a concrete categorical definition of "canonical".