We're still new to this, but we have tried a few interviews where we pay the candidate $80 an hour (~$160k salary annualized). On average, good candidates complete the projects in about 3.3 hours, so that's a ~$270 expense to us, which we've been fine with.
Candidates who did the unpaid version saw the clear value: they invest 3-5 hours once, and potentially cut out 20+ hours of first round interviews, or even all the studying like the OP did.
Nobody that we've tested in the beta complained about a few hours of free "work" - they were actually excited about it.
I really like that you compensate candidates for their time. I can't think of anyone else who follows that model presently, so thank you for keeping in mind being fair to prospective hires. Are you all SF-only?
To be fair to OP, I think there's ways to structure throwaway projects in such a way that it contains flaws and they're useless to a real company but complex enough to gauge experience/familiarity, etc. I don't think GitHub would be optimal since then people could clone these throwaway projects and create brain dumps.
We actually pay contracted engineers (up $100/hr) to write these projects. They're usually recreations of interesting problems have had to implement or work on in their careers. Some are just forks of open source projects.
We don't turn around an use the code the candidate wrote. If you consider the cost to use to write the project AND the cost to have it reviewed N number of times, we'd be overpaying drastically for that feature to be implemented.