Civilians always get caught in the crossfire.
An opponent on the defensive often gets to choose the time and place of a battle. An opponent who is at a material disadvantage will attempt to maximize their advantages in any way they can.
Fighting in built up urban areas gives a non mechanized military force more options for inflicting casualties on the offensive mechanized force, as it limits their maneuverability and visibility on the battlefield. Civilians live in built up areas. As a consequence civilians will always get caught in the crossfire as both sides attempt to flank the other and take buildings and streets.
It’s not right or wrong. It just is what it is.