Best middle ground I ever had was an interview where they impose a strict 1 hour (maybe it was 90 minutes, idk) time limit between when I got the prompt and when I emailed them back. Then they spent some time looking over it, then I had an interview with an engineer who had read my code and we chatted about it. Why I had made certain decisions, what corners were cut because of the time limit, etc.
Felt very fair. Not enough time to assign a valuable task, enough time and privacy that I wasn't under the gun like you are in a whiteboard interview, and it was pretty applicable to what I would be doing at the company. Solid interview. Didn't get the job, but respected the process.