That is often a problem with proposals/design docs in general. In the real job, if proposal is actually required, it would be sent it back with "please add details on UX and how you are going to store email headers". In this case, the proposal was explicitly _not_ required though, so interviewers did not want to ask for more details on the optional document. They checked what was written there, found no problems, and approved it.
No wonder he focused on backend part.
So from the interviewer's standpoint, author was asking about few details of implementation, like "can I use third-party service for email storage?"; and the response was of course "yes, you can" (because assignment was pretty clear that backend does not need to be advanced or even present, and that it's UI that matters)
I guess the question worked as intended, and filtered out candidate who cannot even read the simple requirements.
(The amount of effort was disproportional though, but I am not sure how to solve this in take-home context without discriminating against people who have busy schedules and/or work slowly)
If you are asked to implement X and instead you take extra time and come back with X+Y+Z, what have you done? Wasted time e.g. money. Companies really hate wasting money.
So if in your candidate project you demonstrate a propensity for bike-shedding any task, that's gonna be a big red flag.
In the real world, if the time he spent was deemed wasted time, that's management's fault.
Concrete and working? Technically, yes. This would have been an excellent submission for a different assignment and role. But it doesn't seem to suit the specifications for this one.