"make lunch" is more common than "cook lunch." Plus, you never hear "the cook cooked." "Mom cooked lunch," but "the cook made lunch."
Just as "zrobił obiad" is probably more common than "ugotował obiad", especially that "nie każdy obiad się gotuje". But the choice here was "ugotował", maybe even for the potential word play, so I believe the English version should reflect that.
Since kucharz is used as "the chef," instead of "the cook," then it works in English just fine. "Did the chef cook lunch?"
Yup, this is exactly the main translation. The 'word play' one is just a potential one.
We do accept 'prepare' in many sentences about cooking, including this one. But technically that's "przygotował".