The basic approach in the question is a good one,
except for an error in combining the
probability that the first roll is a $7$ and the
probability that the second roll is a $7$.
In general, for two events $A$ and $B$,
$$P(A \cup B) = P(A) + P(B) - P(A \cap B).$$
If $A$ is the event of rolling $7$ on the first roll,
and $B$ is the event of rolling $7$ on the second roll,
then $P(A) = P(B) = \frac 16$ but $P(A \cup B) < \frac 13$
because $P(A \cap B) > 0$.
You need to find the probability that both the first and second rolls will be $7$,
and then you can apply the formula above.
A similar but slightly different approach is to let $A$ be the probability
that the first roll is a $7$
and let $B$ be the probability that the first roll is not $7$
but the second roll is a $7$.
You can confirm that any sequence of rolls that gets $7$ before the third roll
has either event $A$ or event $B$.
But now $A$ and $B$ are disjoint, that is, $P(A \cap B) = 0,$
so you can simply add the probabilities to get $P(A \cup B),$
and the solution is found by evaluating $1 - (P(A) + P(B))$.
This is similar to the attempted solution, except that $P(B) < \frac16.$