I think that your argument is quite correct. For sufficiently large x the term
$-12 x^x$ will dominate the expression.
Limit[9^(3 x) - 12 x^x + 45 x^3 - 66, x -> Infinity]
is negative infinity. In fact, as you say the only terms that are consequential for this zero are the first two. We can get a first estimation of the position of the zero if we observe that
$9^{3x}=9^3^x=729^x$. So the question is when this term is more or less as large as the
$-12 x^x$. if we forget the -12 for a second that would happen at
$x \approx 729$. This is of course a wee bit imprecise because of the 12, but we are relatively close to 726.
Let's make this a bit more precise. We only use the relevant terms and ask when does:
$9^{3x}=12 x^x$
as before
$$729^x=12 x^x$$
$$729^x=12^{1/x}^x x^x$$
$$729^x=(12^{1/x} x)^x$$
this is obviously true when
$$729 = (12^{1/x} x)$$
Which is an easy one for Mathematica:
sols = Solve[(9^3) == 12^(1/x) x, x]

We are interested in the first solution - the one close(r) to 729.

N[x /. sols[[1]], 20]
gives 726.51083890096132690, which is identical to the first digits of the "full" solution 726.51083890096132690 Mathematica obtains in one of my posts above. BTW, many more digits are correct. Certainly the first 2000.
Cheers,
Marco