This will remain although I can think of removing that bonus in case inadequate forces are present in the hex. I believe it could kick in only with at least 2 divisions or 1 corps.
This change otherwise is bound to stay, as without it it's impossible to recreate fortress battles that took months. Time to dust off those Karl mortars, they should give a good modifier to fort destruction.
+2 in heavy urban means fort level 2 counts as 4 in that case and gives the no retreat bonus.
You are being far too generous to the defenders. A properly defended Sevastopol will hold for the same amount of time as the real fortress did (around 1 month). Again, take a look at my AAR, Sevastopol proper held from turn 56 till turn 59 (a full month) against the whole 11th Army, which had the best divisions of the Wehrmacht and frightening artillery and which was much stronger than its real life counterpart. If that doesn't convince you, run a modified Sturgeon Catch scenario and look at how hard it is to take the city. All the Soviets have to do is actually commit forces, the terrain, fort levels and supply mechanics are on their side.
With your added bonuses, Sevastopol can hold for 2+ months which is absolutely insane. Even if the Germans manage to drop the fort levels to 2, the Soviets still have the no retreat bonus due to the fact that Sevastopol is a port level 10+. Even if the Axis finally manage to drop the fort levels to 1 and force the Soviets to retreat, the Soviet units will simply rout to safety with all their men and equipment which is completely unrealistic and should be changed but that is a whole other topic on its own.
Under those conditions, no German player will even try to go for Sevastopol since it is a stupid decision to make: If you commit forces, it will take forever to capture it, you will lose so many men and at the end of the day the Soviets will simply rout and escape.
So now, instead of making it a hard prize to fight over, it will simply be ignored because it will become impossible to capture against proper defense. I am 100% sure that that is not your intention, that is why I am urging you to see into tweaking said rules.
The idea of removing the bonus if inadequate forces are present sounds good to me as a start but I would advise to also add a cap on the end odds. If an Axis player is getting 5 to 1 odds and the defenders are still holding because of the bonus, that needs to go. Or if you are not open to that, make the Soviets take heavier losses, the same way WitW simulates beachhead defense.
Also if you are trying to simulate fortress battles, rough and mountain terrain have nothing to do with that and should not profit from the bonus, only Light and Heavy urban hexes should.
I have seen Voronezh, Leningrad and Tula (all isolated) hold off multiple attacks for 3+ turns without the bonus that you have added. I am not against it in theory and understand your intention but it seems like you need to tone the bonus down a bit as it is way overpowered in the current state.
It should take damage into account. But Sevastopol is a big port, so the cost remains quite low. It was never very big, now it's bigger so it's not a change for worse.
It wasn't in the changelog so I assumed it doesn't. Fair enough.