Yup. C# likewise described the change in semantics as just a different de-sugaring of their for each loop when that happened.
The only explanation I see is that they really gave it no thought at all whatsoever and it wasn't a tradeoff but simply not thinking clearly.