I hate both. Take home exercises require far too much time. White-boarding is just so hit and miss as to whether a solution comes into my head at that time. And its kind of annoying / distracting having someone watch you code / think.
I get the sentiment - but at some point, a hiring company absolutely has to test your ability to make a judgement about whether to hire you. Speaking from experience on both sides of the table, I'd rather that be through writing actual running code than through some awkward or irrelevant whiteboarding exercise.
As I pointed out in another post, the best interview experience I had was when the guy asked me to bring in my laptop with some code.
I brought in my half finished side project. We talked about it, he asked me some questions, I showed him a couple of things about the tech stack that he didn't know. He asked me to add a basic feature. It worked well for both of us. If I had been faking it I think it would have shown.
I think that's a great approach. I agree absolutely about not being able to fake it either; in practice I've never caught anyone putting forth someone else's code as their own, and I don't think it's a huge concern for the reason you mention.
Do also spare a thought for the people who don't have side projects, or any code that they can legitimately share. There are plenty of talented engineers in that position, and it'd be a shame to have a hiring process that leaves them out in the cold.