Take-home assignments are a small part of the interview process.
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.