"I ate breakfast yesterday."
I believe it can be omitted occasionally if the sentence could be understood without it.
Someone correct me if I am wrong but I think including は after きのうintentionally highlights the topic of yesterday, which could help with general emphasis in the sentence. This would be important if you needed to differentiate if the time was the topic or subject.
For example: I'm asked when did I last eat breakfast: then 'breakfast' is the topic. I'm asked what did I do yesterday: then 'yesterday' is the topic.
If its inferred pretty well with context from the question it seems safe to leave it out when the sentence structure sounds natural.
I did the exact same answer and got it wrong, I'm positive it's only Duo not understanding the kanji. I think you have to write "きのう” instead of ‟昨日” for it to be accepted.
Update: I tried that and it still didn't work but I did it again and instead wrote the entire sentence in hiragana (きのうはあさごはんをたべました) and it was marked as correct. Guess Duo isn't a big fan of kanji
食べます is the present tense of 食べる. 食べました is the past tense of 食べる.
The only part wrong in your translation is the verb isn't past tense.
Your current sentence means "I will eat breakfast yesterday." which sounds a bit odd. Using 食べました turns it from "eat/will eat" into "ate".
Other than that the rest of the sentence looks good! You don't explicitly need the は particle, but it can help emphasise that you're specifically talking about yesterday.