I'm thinking I always returned the object at Index 0, because that is the first index searched for an object. After removing the object and searching again, it will find the object at 0, since the array collapsed back to 0.
I ran another test and removed an item from the middle of an array, and confirmed the array collapses, and does not leave empty 'holes'.
Items stored in an array
Index --- object
0 --- red
1 --- green
2 --- blue
Removing green leaves the array like this:
0 --- red
1 --- blue
Meaning, the 'Array Contains Game Object' action searches Index 0 first, and the array will always store values at the lowest numbers.
This is likely working as intended, and I just need to expect this functionality.