Maybe you already went down this rabbit hole. I ended up finding out about railway life cycle (https://wiki.openstreetmap.org/wiki/Railways#Life-cycle).

Where highway was built over it, I would expect you would never know the railway existed. So railway=razed would not fit. I think the railway=* tags should be removed. In that case it would also make sense for old_railway_operator=* to be removed.