When you perform a stack update, only the resources that you modify will be updated or replaced. In your use case, if you make changes in the number of nodes in your ES cluster, your EC2 and ELB instances will stay in place and will not change.
If you want to check which resources will affect the changes made by your template, you can use the CloudFormation Change Sets to preview the changes before applying them.
If you just add the number of instances in your auto scaling group, the existing ones will remain there. However, if you reduce the number of instances in your ASG, the oldest ones will be deleted first. You can use the AutoScalingRollingUpdate policy to gain control over it.
In addition, when you upgrade, you can specify a replacement for your entire ASG with a new one, including all new instances of EC2. Using the AutoScalingReplacingUpdate policy, you can customize this behavior.