I use the take-home assignment as prep for the live interview. We have the candidate explain how they chose to structure their solution and why they chose their implementation over alternatives. The conversation is treated as a code review or an explanation to a coworker inheriting the code.
If someone can’t really explain how their code works or otherwise appears to be reading it for the first time, we don’t assume they cheated but we also don’t give any positive points. People can fumble under interview pressure and should be given a second chance. They need to demonstrate their skills sufficiently in the rest of the interview, though.
I would do something similar. Ask a few questions about how they solved it, why they made a certain decision, etc.
But on a serious note - take home assignments (if any) should only be a small part of evaluation.