The key here is the word order. The neutral order is “昨日肉まんを食べました”. By saying it in the order “昨日食べたのは肉まん[です/でした]”, you are already conveying a contrastive nuance. That is to say, you ate 肉まん and not something else.
です/でした tends to have implications on this contrastive nuance:
昨日食べたのは肉まんです。ラーメンではなくて。
It was nikuman that I ate yesterday. Not ramen.
昨日食べたのは肉まんでした。ラーメンではなくて。
It turns out it was nikuman that I ate yesterday. Not ramen.
Using でした
can imply that you are overturning a previous belief or statement. You previously thought/said it was ramen, but it turned out to be nikuman.
So for example, these are the natural choices:
- 先に帰ってきたのはお父さんです。
It was my father who came home first.
- お母さんが先に帰ってくるはずだったのに、先に帰ってきたのはお父さんでした。
My mother was supposed to come home first, but it turned out to be my father who came home first.