Interesting! So you'd provision a new VM, deploy and add it to the LB, and then destroy the old node? I think that's where a docker-based deployment would shine, it would be way faster.
You also make sure you get a clean VM each time configured the way your IaC dictates. Obviously if your nodes hosting the application are not under IaC or for some reason you want them to be long lived, then this doesn't work as well and your model is going to the better way to go.