Let $C_n$ be the $n$-th Catalan number, defined by $\frac{1}{n+1}\binom{2n}{n}$. Let's also say that you keep tossing even after you had more heads than tails, for good measure. Then there are $2^{2n + 1}$ different sequences of tosses you could've made. How many of them will at some point have more heads than tails?
We will divide this by cases in the following way: Any sequence that does at some point have more heads than tails are grouped together according to the number of tosses it took to get more heads for the first time. That means, for instance, that half of all the sequences (the ones starting with head) are in group $0$. The ones that took $3$ coin tosses are in group $1$ and so on. The ones that made it to the more-heads-than-tails-side only on the last coin flip are in group $n$.
How many sequences are in each group? Say we have the group labelled $i$. That means that for any sequence in this group, after $2i$ throws they have exactly as many heads as tails, and at no point before have they had more heads. There are $C_i\cdot 2^{2n-2i}$ tossing sequences like that. $C_i$ because that's how many ways you can reach the spot, and $2^{2n-2i}$ because that's how many ways it can go on after this, provided that the $(2i + 1)$th throw is a heads (which it is; that was the definition of group $i$).
So we're left with calculating the following sum:
$$
\sum_{i = 0}^n 2^{2n-2i}C_i = \sum_{i = 0}^n \frac{2^{2n-2i}}{i+1}\binom{2i}{i}
$$
and then divide it by $2^{2n + 1}$, and you have your probability.
PS. I don't know how to calculate the sum, but WolframAlpha says it's equal to
$$
2^{2 n+1}-\frac{1}{2} \binom{2(n+1)}{n+1}
$$
which suggests there are $\frac{1}{2}\binom{2(n+1)}{n+1}$ sequences of coin tosses that are $2n + 1$ long and that never have more heads than tails in any initial segment.
I ask you for additional explanation. Meanwhile I'll post here another approach.
Denote by $\tau_i^5$ the random variable that counts the time required to get five heads starting from $i$ heads, ok?
What we want is exactly $E[\tau_0^5]$, right?
Now, you can evaluate $E[\tau_0^5]$ conditioning at the first step.
$$
E[\tau_0^5] = \frac{E[\tau_0^5]}{2} + \frac{E[\tau_1^5]}{2} +1
$$
Explaining the equation above. With probability $1/2$ you have a tail, so the time you will take to get five heads is the same, because you have any heads. On the other hand, with the same probability you get a head, and now, the number of flips needed to get 5 heads is $E[\tau_1^5]$, because now you that you have one head. The +1 it is because you have to count the first step.
Repeating the argument above you get
$$
E[\tau_1^5] = \frac{E[\tau_0^5]}{2} + \frac{E[\tau_2^5]}{2} +1
$$
Proceeding this way, and remembering $E[\tau_5^5]=0$, you get
$$
E[\tau_0^5] = 62
$$
This may seems more complicated at the first sight, but the idea of "to conditionate at what happens at the first time (or movement)" solve a big variety of problems.
Best Answer
We only ever need to keep track of the difference between the number of heads, and the number of tails. Moreover, the time it takes to increase this difference by $2$ is twice the time it takes to increase this difference by $1$.
So let's call $x$ the time it takes to go from a difference of $k$ to a difference of $k+1$: for example, the time it takes from the start until you have flipped heads once more than tails.
After the very first coinflip, we're either done (with probability $p$), or we have made progress in the wrong direction and have a difference of $2$ to make up for (with probablity $1-p$). So we have $$x = 1 + (1-p) \cdot 2x$$ or $x = \frac1{2p-1}$.
The answer you want is $2x = \frac2{2p-1}$.