I am trying to prove Theorem 22.33 in Lee's Introduction to Smooth Manifolds, whose proof was left as a Problem:
If $(M, H)$ is a contact manifold and $\theta$ is a contact form for $H$, then a smooth vector field on $M$ is a contact vector field if and only if it is a contact Hamiltonian vector field.
A contact vector field is defined as a vector field $X \in \mathfrak{X}(M)$ whose flow $\psi$ preserves the contact structure, in the sense that $$d(\psi_t)_p(H_p) = H_{\psi_t(p)}\text{ for all }(t, p)\text{ in the domain of }\psi$$
For any $f \in C^{\infty}(M)$, a contact Hamiltonian vector field $X_f \in \mathfrak{X}(M)$ is defined as the unique vector field such that $$\theta(X_f) = f\text{ and }\left(\iota_{X_f} d\theta\right)\big\vert_H = -df\big\vert_H$$
What I tried:
I can prove the implication "contact vector field" $\implies$ "contact Hamiltonian vector field".
Suppose that $X$ is a contact vector field on $(M, H)$ with flow $\psi: \mathcal{D} \to M$.
Since $\theta$ is a contact form for $H$, it annihilates $H$ so $\theta_p(H_p) = 0$ for all $p \in M$. Then for all $(t, p) \in \mathcal{D}$ we have $$\left(\psi_t^*\theta\right)_p\left(H_p\right) = \theta_{\psi_t(p)}\left(d(\psi_t)_p\left(H_p\right)\right) = \theta_{\psi_t(p)}\left(H_{\psi_t(p)}\right) = 0$$
This shows that for all $p \in M$, $$\left(\mathcal{L}_X\theta\right)_p\left(H_p\right) = \frac{d}{dt}\bigg\vert_{t=0}\left(\psi_t^*\theta\right)_p\left(H_p\right) = 0$$
Therefore $\left(\mathcal{L}_X\theta\right)\big\vert_H = 0$, so using Cartan's magic formula we find $$\left(\iota_X d\theta\right)\big\vert_H + \left(d\left(\iota_X \theta\right)\right)\big\vert_H = \left(\iota_X d\theta + d\left(\iota_X\theta\right)\right)\big\vert_H = \left(\mathcal{L}_X\theta\right)\big\vert_H = 0$$
So we can define $f = \theta(X)$ which is in $C^\infty(M)$, then the previous equation also shows that $$\left(\iota_X d\theta\right)\big\vert_H = -\left(d\left(\theta(X)\right)\right)\big\vert_H = -df\big\vert_H$$
Therefore, $X = X_f$ for this choice of $f$ so $X$ is contact Hamiltonian.
I can't prove the converse.
Suppose $X_f$ is a contact Hamiltonian vector field. Let $\psi: \mathcal{D} \to M$ be its flow, and let $\theta$ be the contact form for $(M, H)$.
We want to show that $d(\psi_t)_p(H_p) = H_{\psi_t(p)}$ for all $(t, p) \in \mathcal{D}$.
By definition of the contact form, $\theta$ annihilates $H$ so $H_p = \ker \theta_p$ for each $p \in M$.
So we want to show that $d(\psi_t)_p(H_p) = \ker \theta_{\psi_t(p)}$, or in other words that $\theta_{\psi_t(p)}\left(d(\psi_t)_p(H_p)\right) = 0$.
We recognize this as a pullback, so we want to prove that $\left(\psi_t^*\theta\right)_p(H_p) = 0$.
Now we know that $\psi_0 = \text{id}_M$ so this holds when $t = 0$ because $\theta_p(H_p) = 0$.
Differentiating with respect to $t$, we have $$\frac{d}{dt}\left(\psi_t^*\theta\right)_p = \left(\psi_t^*\left(\mathcal{L}_{X_f}\theta\right)\right)_p$$
So the problem is equivalent to showing that $$\left(\psi_t^*\left(\mathcal{L}_{X_f}\theta\right)\right)_p(H_p) = 0$$
By Cartan's Magic Formula and the property $\theta(X_f) = f$, we can write $$\mathcal{L}_{X_f}\theta = \iota_{X_f} d\theta + d\left(\iota_{X_f}\theta\right) = \iota_{X_f} d\theta + d\left(\theta(X_f)\right) = \iota_{X_f} d\theta + df$$
We also know that $\left(\iota_{X_f} d\theta\right)\big\vert_H = -df\big\vert_H$, and this shows that $\left(\mathcal{L}_{X_f}\theta\right)\big\vert_H = 0$, but it is not clear that $\mathcal{L}_{X_f}\theta = 0$ outside of $H$ so this doesn't prove that $\psi_t^*\left(\mathcal{L}_{X_f}\theta\right) = 0$.
Since we don't know that $d(\psi_t)_p(H_p) = H_{\psi_t(p)}$ yet, we also don't know that $$\left(\psi_t^*\left(\mathcal{L}_{X_f}\theta\right)\right)_p(H_p) = \left(\mathcal{L}_{X_f}\theta\right)_{\psi_t(p)}\left(d(\psi_t)_p(H_p)\right) \stackrel{?}{=} 0$$
So unfortunately I am stuck here.