题主举的两个例子,基辅战役的形势大概是这样的:
基辅为什么没有发生巷战呢?原因之一是基辅战役的参战部队一大部分离基辅远得很,另一个原因是基辅正面有筑垒地区,在包围战发生前战斗集中于各个筑垒地区;被包围后的苏军的主要任务是突围,因而没有发生大规模巷战。
白俄罗斯战役德军遭遇的情况类似,不过这次问题是明斯克距离战线太远,主力被包围的时候还没跑到明斯克呢。苏军拿下明斯克就像当年德军拿下明斯克一样,对手当然想打巷战,但快速推进的机械化部队根本不给步兵组织防御的时间,少量卫戍部队很快就被淹没。所以这是非不为也,实不能也。
但是题主的结论是有问题的,那就是大规模巷战真的只有这些吗?既然布达佩斯算,那么为什么不算柯尼斯堡、波兹南、维也纳呢?41年坚守卢加的苏军造成了德军的巨大伤亡,斯摩棱斯克也造成了德军的大麻烦,斯大林格勒之前的沃罗涅日同样不该被忽视;西线德军也至少打过瑟堡、布雷斯特、亚琛三场大规模巷战,不可谓不多。
不过话说回来,巷战并不是想打就能打的。上述战例大多是城市彻底被围后发生的,被包围部队的抵抗固然值得肯定,但是被包围的风险也会让指挥官选择不进行巷战。比较典型的例子是奥廖尔战役,克卢格在有被包围的危险是极力劝说希特勒弃守奥廖尔;第四次哈尔科夫,曼施坦因在出现被围的可能时抗命撤出哈尔科夫。被围后城内部队展开的巷战实际上有困兽之斗的意义,增援不能及时赶到的话其意义其实也比较有限。
而如果非要坚守会被包围的重要城市,那就是臭名昭著的堡垒城市战术,把本就短缺的前线兵力削弱并不是什么明智的举措。