[math]::pow()はdouble型の値を返すので、10進数としたときは有効数字は15桁となります。
4710128697246244834921603689 は28桁の数値なので、表現しきれないことになります。
.NETでは桁数の多い整数を誤差なく扱うためにBigInteger構造体というのが用意されています。
BigInteger構造体では四則演算の演算子がオーバーロードされていて、int等の数値同様に演算子を用いた演算ができるほか、Pow()を初めとした、BigInteger演算用のスタティックメソッドが定義されています。
今回の場合だと、
4710128697246244834921603689 -eq [bigint]::pow(9,29)
とすればうまくいくかと思います。
ただし、BigInteger構造体(エイリアスはbigint)が使えるのは.NET Framework 4以降となります。
参考:BigInteger 構造体 (System.Numerics)