In in the category of finite-dimensional vector spaces, say $\textbf{FinVect}_\mathbb{F}$, there exists and isomorphism between homology and cohomology: Let $(C_\bullet,\partial)$ be a chain complex and $(C^\bullet,\delta) = \text{Hom}(C_\bullet,\mathbb{F})$ the cochaincomplex such that $\delta_p = \partial_p^*$ is the vector space dual of the boundary map $\partial_p$. Using the two isomorphic definitions of homology we have
$$ H_p(C_\bullet) = \text{ker}(\text{coker}(\partial_{p+1}) \to \text{im}(\partial_p)) ,\qquad H_p(C^\bullet) = \text{coker}(\text{im}(\delta_{p}) \to \text{ker}(\delta_{p+1})) $$
Since $\text{Hom}(-,\mathbb{F})$ is an exact contravariant functor it turns kernels into cokernels and vice versa and the isomorphism between homology and cohomology $H_p(C_\bullet) \cong H_p(C^\bullet)$ becomes apparent.
We may also express homology as $H_p(C_\bullet) \cong \text{coker}(\text{im}(\partial_{p+1}) \to \text{ker}(\partial_p))$. So there must be an isomorphism $\text{ker}(\partial_p) \cong \text{ker}(\delta_{p+1})$ as well as $\text{im}(\partial_{p+1}) \cong \text{im}(\delta_p)$.
My question is by which map these two isomorphisms are given. If the map is not canonical, I still would like to see how one defines it by means of a basis.
I suspect it is given by the dual $\text{Hom}(-,\mathbb{F}) = (-)^*$, i.e. an element $z \in \text{ker}(\partial_p)$ maps to $z^* \in \text{ker}(\delta_{p+1})$. However I can't quite come up with why $z^*$ should lie in the kernel of $\delta_{p+1}$. How could one see this if it is indeed true?