I'd rather solve problems during the interview than do take homes.
It makes a lot of sense to solve problems in interviews, the interviewer gets to see your thought process and it prevents cheating by getting someone else to solve the problem. Furthermore, unlike talking about past projects, the interviewer can compare the answers of different candidates on the same problem.
I think it's helpful, in order for me to understand the person I'm interviewing, to pair program on a problem together. I don't think it makes sense for them to LeetCode an algorithm in front of me; I think it makes sense for us to build a working API or an Async Worker. I need to know that you _know_ these things or at least know that _you can figure these things out_ and know how to _ask questions when you are stuck_.
As an Interviewee:
I won't do take-homes. I barely like having to do 1hr long interviews, there's no way I'm going to take 1hr+ of my time _outside of work and interviewing_ to do your toy problem _and then talk to you about it_. I would love to hang out, sling code together, and spend time nerding out for 1hr with people as an interview. In fact, I know that if the interview is a "let's code together" one that I'm pretty likely to get the job so I look forward to those types of interviews.
I like to pose problems that have been solved a while back, but was the subject of some considerable debate. Given a whiteboard, I am more interested in how the candidate approaches the problem and the questions they ask, the concerns they raise. In other words, demonstrating a mature approach.