✨ ベストアンサー ✨
ダメとまでは言い切れませんが、inを使うと「レストラン(という空間)の中で~」といった言い方になるので、不自然になるからです。
日本語でも、「レストランの中で和食を食べた!」とはあまり言いませんよね。
前置詞at は、広い範囲に対して一点を表すニュアンスを持ちます。広い街のうち、レストランという地点を指し示すイメージです。
レストラン、学校、駅などは、街のうちの一点(地点)を表すので、at のほうが好まれます。
in を使う場合は、in Japan や in the classroomなど「その空間の中で」というニュアンスを含む場合になります。
たとえば、「雨だったので、レストランの中で時間を過ごした」など「中に入っていた」ことを伝える場面でしたら、in the restaurant を使っても自然です。(前置詞は、後ろに続くものに使って決まるのでは無いのです。場合によって決まります)