We hire mostly junior developers. I give a simple whiteboard interview with 3 questions, and encourage them to solve it with mostly pseudo-code but have a few "extra points" things that I'm looking for. Absolutely avoided any kind of "trick" questions.
I like the homework idea. I don't know about "coming back" but maybe send it to them a couple days prior to the tech interview.
The one downside I've found with homework problems is that oftentimes the set of requirements (or "suggested features") doesn't line up with the amount of time you're expected to spend on it.
I've personally been in the situation of receiving a list of 10-12 required features, with a stack that the recruiters know I am unfamiliar with, and then been told to only spend four hours on it.
While this was an extreme case, I find that the unreasonable time expectation is not uncommon. That is quite frustrating as an applicant.
I like the homework idea. I don't know about "coming back" but maybe send it to them a couple days prior to the tech interview.