Is the military buildup checking the problem? If not, here is a much, much, much simpler way of achieving the same thing and the effect will be distinctly different from the Persian's power:
*each city with a Mongol military buildup has a chance to flip (surrender). The more cities that have been razed, the greater the chance. The more cities that have surrendered, the less the chance. Simple.

All it would need is for the Mongols to keep a simple tally that keeps track of the net cities razed versus cities surrendered and use that to modify the city that has the military buildup's chance of flipping.
The gameplay focus here is no longer on razing which affects nearby cities, but instead it is on the military buildup flipping the city before conquest. Razing cities will give the city that has a military buildup more 'encouragement' in surrendering. This is functionally different to Persia, it factors in razed cities but it is based on military buildup near the city as opposed to nearby cities flipping. This would be a much, much simpler version of the one from my previous post (all it needs is to keep a running tally and to make the cities capable of detecting a military buildup). It will also operate differently from Persia's power. The idea you suggested (and the other idea I suggest below) will actually operate and feel more like Perisia's than this one because those ideas are based on distance from cities whereby this would be based on military buildup (and razing only influencing the odds of it flipping). It would ultimately feel and play out differently.
Another idea for the Mongols (that isn't as appropriate):
*nearby cities go into revolt when a city is razed. Personally, I think the implementation of this will look and feel similar to the Persian implementation, even though it gives two different results.
I personally think the Mongols should have a power that keeps them close to the aggressive militaristic expansionists/imperialists ideal. Genghis in particular wanted submission rather than war and gave orders of submission when approaching each city whereby they either surrendered or didn't. Those that didn't were punished with a mass slaughtering which in turn affected the next city's decision to surrender.
edit: The idea in more detail:
*Have a running tally that adds 1 to it when the Mongols raze a city, and subtracts 1 from it when a city surrenders to the Mongols. Tally starts at 0.
*Make it so that cities can detect a military build up. There must be code like that that already exists in the game.
*Implement it so that when a city has a Mongol military buildup, the current tally modifies the base chance of it flipping and a test is done to test whether it surrenders or not right there and then.
*If it surrenders, the city then changes hands and the tally is subtracted by one, making it less likely for the next city to surrender.
*If it doesn't surrender, nothing happens. The Mongol player can then capture and keep the city if they want, but it might actually be preferably in the long run to raze it. Razing it increases the tally by one making it more probable that the next city will surrender. Keeping it does nothing.
*A positive tally will increase the chance of surrender and a negative tally will decrease the chance of surrender for every city that has a Mongol military buildup.
*There would probably also need to be multipliers or something in there to get the gameplay balance right.
I think that is much more simpler than my idea I presented in my previous post. What are your thoughts? Basically this should create a gameplay experience whereby if you raze and destroy everything, cities may, out of fear, start to spontaniously surrender to you the moment you rock up to their city with your army. THAT'S the Mongols
