(sorry, it was getting hard to follow)
Hard revision deletion seems like a lost cause to me: it breaks the fundamental assumption in MediaWiki that an edit is the difference between two neighboring revisions, so no matter how you mark changes there will be weird edge cases. What would help there is always knowing what the parent slot was (ie. the slot that got edited resulting in the content of the current slot), but in the current schema parents are on the revision level, not the slot level, and in case not tracked fully reliably.
I wonder if it would make sense to change that? Ie. have slot_parent instead of slot_inherited/slot_origin, put in the ID of the last revision in which the slot had a different value (or maybe the ID of that slot, in case we expect some kind of move operation between different slot roles of the same page, so "diagonal" parent relationships might make sense), and use parent slot ID == parent ID of the revision to detect changes. (Although that would require revision parent IDs to be reliable.) The nice use case here would be that we could show a warning when a diff is fake (the parent revision got hard deleted, so the diff is misattributing the union of multiple edits to the user who made the last edit). I don't think that's possible with either slot_inherited or slot_origin.