If I'm not mistaken saves only remember migration scripts from active mods.
Saving with a disabled mod should result in all it's migration scripts running again after re-enabling it.
For filling lakes I'd use Nice-Fill (uses temporary surface technique as well) instead of resetting every chunk.
Bonus Questions:
did you account for player placed floor tiles?
does your mod update decoratives, trees and cliffs?
Seems like you do, just a bit differently than your code implies. Decoratives are spawned even if floor tiles are present.
Cliffs and Trees seem untouched. Would be neat to have those regenerated to get rid of lush forests in deserts.
PPS:
One small drawback, migration scripts run while the loading screen shows, so you can't print progress to console anymore.