Some people (including me) thinks that *"canonical"* should be synonymous with *"Natural on isomorphisms"*. Doing so solve 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 acutal (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 shows 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 automorphisms 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".