Thanks azrobert, with your help, I am making progress.
X_SymmetricRTPEnable by itself didn't do the trick, but unchecking X_DiscoverPublicAddress and adding in X_PublicIPAddress made outgoing calls work 100%. I'm not sure if I was supposed to leave X_SymmetricRTPEnable checked or not, I'll play around and see.
Incoming calls, however, are still not working. No ring at all. I'm guessing this is a SIP port issue, maybe the NAT firewall on the phone end isn't port forwarding. The phone has a Symmetric RTP option, but doesn't seem to have any way to manually enter a public IP address, or at least, nothing with the label "public IP".
By dummy trunk, do you mean the additional ITSP profile that just bridges the GV profile to the phone? I don't have anything like that on the phone end. It was working fine both ways when they were on the same network though.