I'm interested in the following statement, coming from Remark 6.4.21 of Qing Liu's Algebraic Geometry and Arithmetic Curves:
Let $\mathcal{F}, \mathcal{G}$ be quasi-coherent sheaves on a scheme $X$. Then we have a canonical homomorphism $\mathcal{F}^\vee \otimes_{\mathcal{O}_X} \mathcal{G} \rightarrow \mathcal{H}om_{\mathcal{O}_X}(\mathcal{F}, \mathcal{G})$ which on any affine open subset $U$ sends $\phi \otimes y \in \mathcal{F}^\vee(U) \otimes \mathcal{G}(U)$ to the homomorphism $x \mapsto \phi(x)y$. It is easy to verify that it is an isomorphism if $\mathcal{F}$ or $\mathcal{G}$ is locally free.
Here $\mathcal{H}om$ denotes the internal hom functor.
My question is how to understand this isomorphism in an abstract sense, by appealing to a map defined in terms of something like a tensor-hom adjunction. Since everything is well-defined in terms of (locally free) sheaves, I'd expect it to be something canonical, i.e. not requiring a choice of basis. (Since even in the case of line bundles, we don't have the isomorphism $\mathcal{L} \simeq \mathcal{L}^\vee$). How should I think about this?
EDIT: as the comment by Zhen Lin points out, the map is canonical in that it is choice free. I suppose I'm looking for an abstract characterization of the map as an instance of some more abstract categorical property.
In addition, why does the locally free assumption come in? I'm not sure if in this context, locally free means of locally constant rank (i.e. free on some open cover) or just free at every point. The latter seems necessary in order to describe why the map is an isomorphism on stalks, but I don't see why the former would come up.