There’s no difference between any of your approaches when it comes to changing the animation. The difference is the variable. The variable action is only going to be triggered once except when you put it inside the for each object The variable action will be triggered once per instance. The only difference with the animation action is whether all objects are set with one action or they’re set one at a time.
If you want to get the number of objects then you can use the SceneInstanceCount() and either set the variable to the value or add the value depending on what you’re doing.