I don't have any fast enough zeners on hand, and it seems like a suboptimal solution anyways, so I tried this out: I used a standard 4050 CMOS buffer powered with a adjustable regulator at 3.3V.
It doesn't seem to be recognized by the host computer, though. I used a signal generator to run a 1.5MHz 0-5V square wave into it and the output was a pretty clean 0-3.3V square wave, but delayed by about 60ns. Do you think this is too much delay for proper communication? Am I doing something else that's dumb?