The English text said lamb, not lamb meat. Is that just assumed?
Yes, since there isn't an "a" before the lamb in the English version it has to be assumed that it is talking about the food not the animal and the food is always translated as "cig oen".
Why isn't "do" accepted as "yes" here?
Because the question was in the present tense, not the past tense.
Do and naddo are used as answers when the question used the past (preterite) tense, e.g. Nest ti ...? Aethoch chi ...?