The key point here is
Advanced indexing always returns a copy of the data
In your second example you're not using the index to return anything. You're only using the index to modify the values. So the object that you're modifying is the original object. Not the copy.