Objectively the candidate passed. But deep down I felt that passing the interview doesn't show me about what real life design problems that the candidate have faced before.
Do you see the irony? Asking a “leetcode” question expecting an “non-leetcode” answer. Canned questions deserve canned answers. That’s what interviews have devolve into.
You get what you measure. You want better experience and person, have a conversation not an interrogation.
If someone giving you a correct answer is concerning, just change the questions that you use. But it would be ridiculous to penalize people for preparing.
If it's an early career engineer (< 4 YOE) then sure fine. You can't expect someone with that kind of experience to have in-depth knowledge on system design.
If it's senior+ then yeah you might expect more. Especially if it's around something the engineer has worked with before.