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 or Chris Schommer-Pries made in the comments, but starting with a concrete categorical definition of "canonical".