That might be part of the problem, though other comments also point out that students were copying file to a computer, then changing file extension, then uploading. Possibly this was as a result of the iOS browser rejecting the file in the first place due to the shoddy input filtering mentioned.
But going a bit bigger picture, the problem is that we still use file extensions to denote file type.
This keeps getting brought up because there was one anecdote in the Verge story about a student who renamed the file on their computer. (Which still shouldn't have caused the test to keel over, but it's at least slightly more understandable.)
However, there were many other reports of students going the more "normal" route of just uploading through their iPhones, which caused the website to outright hang.
Anecdotally, yesterday I accidentally learned that my relative clicks OK in any dialog window within 200ms without even attempt to read the message. So the alert you suggest would slightly help 1% of geeks and will annoy 99% of the users.
Just to give credit where it's due here, I don't think I've ever seen a client side form check upload sizes before. I've had many frustrations going through a form upload then refreshing to a page that says "your file was too big".
What they did instead was to poorly reinvent the accept header in Javascript as follows:
(per https://news.ycombinator.com/item?id=23261598).