Adding Trigger Once didn't change anything, but I think that's because that event runs multiple times as it's going through the array to build the level.
As another test I added an instance variable to the Enemy that sets it = to the current Enemy.Count right after it is spawned:
And checking them in the bebugger, they are setting the Count correctly:
And lastly I made a static variable that hold the current Enemy.Count and then tests that variable as a condition. And that actually works as intended. Now I'm only getting 1 enemy spawning.
So, how can it be setting the Enemy.Count correctly when setting a variable but then not when used as a Condition? Is this a bug?