I've found that the answer to all this is to give a 30-60m remote test (no proctoring), where they get to write the thing as they want, and a 15m discussion where you analyze their solution and assign one new feature then let them walk you through the changes. No code, no whiteboard, just discussion.
A lot of people can't whiteboard code from scratch but can take a piece of code they've just written and discuss next steps. And it's also an actual work skill that many good coders are bad at, so it gives you a good insight into high and low-level people.
This will lead to hiring people who can be coached until they sort of understand a solution, although they still couldn't create it.