I have noticed that when a Cloudformation stack has drifted, there are some (minor) changes that can be done without Cloudformation actively trying to update the drifted resources. An example of such update is when adding a DeletionPolicy to some resources. I haven't managed to find any official reference in the documentation about this, so I am still doubting if it is just a coincidence. For cases such as moving a resource from one stack to another, being able to add a DeletionPolicy:Retain without any further impact on the stack is extremely useful.
Another way I could possibly try to mitigate the risk would be to add a stack policy that denies explicitly any update on the resources that I don't want to update, but even then, I cannot guarantee that the update on the resources I want is only the DeletionPolicy and not the resolution of the drift.
Any other ideas or pointers?