AFAIK and looking at the code, Steel just gives more defense value (walls + health) to a city. It doesn't matter, where your strongest ranged unit is - in the save provided, there just aren't any. E.g. try buying the aforementioned field cannon in another city (like Athens) than the one shooting the knight and check the damage value. It will go up immediately in the city doing the shooting, which is very easy to verify with just a couple of clicks. Is the way that city ranged attack currently works intentional? Does it make any sense? I have no idea.
From GlobalParameters.xml: <Replace Name="COMBAT_MINIMUM_CITY_STRIKE_STRENGTH" Value="3" /> The base damage is 3 and because there aren't any ranged units, none, zero, zilch, nada, anywhere, it is 3. Just check the unit list if you're doubtful. Bombard is bombard, not ranged.
Of course I might be completely wrong and if you have some completely contradictory information on this specific subject, please let me know.