I don't think multiple fields with the same name is designed to be a normal mode of operation. If you actually want an array, use the [] suffix.
But if you have a bug which produces a form with multiple fields with the same name, what should it do? I can think of two strategies: last one wins and the proposal.
Both are probably going to lead to things going wrong in the backend. At least with the proposal you:
A) can detect it with boilerplate that looks for arrays where you expect primitives.
B) figure out what the original data was if you need to try and manually repair it.
I'm sure we'll see lots of bad tutorials suggesting you just use the same field name to make an array though :(