I think Hitchin's exposition may be a little bit confusing. You are absolutely right, Hitchin begins by defining the tangent space $T_pM$ in a certain way (as the dual $(T^*_pM)^*$of $T^\star_p M$) and therefore a tangent vector should be defined to be an element of $T_pM$.
However, he admits that the above definition of $T_pM$ is somewhat counterintuitive. Quotation:
This is admittedly a roundabout way of defining $T_pM$ [...] This definition at first sight seems far away from our intuition about the tangent space to a surface in $\mathbb R^3$ [...] The problem arises because our manifold $M$ does not necessarily sit in Euclidean space and we have to define a tangent space intrinsically. There are two ways around this: one would be to consider functions $f : \mathbb R \to M$ and equivalence classes of these, instead of functions the other way $f : M \to \mathbb R$. Another, perhaps more useful, one is provided by the notion of directional derivative.
This "more useful" approach is made precise in Definition 10. Note that a linear map $X_p : C^\infty(M)\to \mathbb R$ satisfying the Leibniz rule is usually called a derivation at $p$.
But what is the relation between the elements of $T_pM$ and tangent vectors understood as derivations?
Formally the elements of $T_pM$ are linear maps $\xi_p : T^\star_p M = C^\infty(M)/Z_p(M) \to \mathbb R$. Composing with the (linear) quotient map $\pi_p : C^\infty(M) \to C^\infty(M)/Z_p(M)$ gives linear maps $\xi'_p = \xi_p\pi_p: C^\infty(M) \to \mathbb R$. In other words, $\pi_p$ induces a function
$$\pi^*_p : (T^\star_p M)^* \to C^\infty(M)^* .$$
Here $C^\infty(M)^*$ denotes the dual space of $C^\infty(M)$. It is easily verified that $\pi^*_p$ is linear. It is an injection because $\pi_p$ is a surjection. Therefore $\pi^*_p$ identifies $T_p M$ with its image in $C^\infty(M)^*$ which is a linear subspace of $C^\infty(M)^*$.
Hitchin proves that the image of $\pi^*_p$ is nothing else than the set of derivations at $p$. And that is the whole "secret": The elements of $T_pM$ can canonically be identified with the derivations at $p$. Yes, formally the elements of $T_pM$ are no derivations, but it is common practise not to distinguish between these formally distinct maps. In that sense the elements of $T_pM$ are derivations at $p$.
I would have preferred to define first the tangent space $T_pM$ via derivations at $p$ and then the cotangent space $T^*_pM = (T_pM)^*$ as the dual of the tangent space. It would then have been a theorem that $T^*_pM$ can be identified with $C^\infty(M)/Z_p(M)$ which is the set of equivalence classes of smooth functions $M \to \mathbb R$, where functions are equivalent if the have the same derivative at $p$.