For me the word “canonical” always means “functorial in some sense”, usually without using any form of the axiom of choice. For example, every finite-dimensional vector space is canonically isomorphic to its double dual, because there is an isomorphism of functors id → **, but there is no canonical isomorphism between a finite-dimensional vector space and its dual, because one cannot construct an isomorphism of functors id → * without using some form of the axiom of choice. Likewise, the construction of an algebraic closure is not canonical because there is no functor that sends a field to its algebraic closure, even though every two algebraic closures are (non-canonically) isomorphic.
I presume that one can allow using the axiom of choice and still get the same results, but in this case one needs to use the language of 2-categories. For every well-pointed elementary topos T (basically, a set theory), we can construct the category of finite-dimensional vector spaces in this topos and isomorphism of functors id → **. I think that this isomorphism depends 2-functorially on T. On the other hand, even if we use the axiom of choice to construct an isomorphism of functors id → * for every well-pointed elementary topos T, there is no way to make it depend functorially on T. I must say that I have never tried to prove any of these statements, so they might as well be totally wrong.