Turns out there's a difference after all. See the attached images. If you move the
cursor past the EOB, with the beyond_zv check the line is drawn with the line-number
face, not the line-number-current-line face. If we check with it->what != IT_EOB,
then the line-number-current-line face is used.

I think the right thing to do, when dealing with the "phantom line" just past the EOB,
is to:
- Use line-number-current-line, if the cursor is there.
- Use the line-number face, and not the tick faces, if the cursor is not, regardless
  of whether this phantom line would be a tick line or not if it were used.

So there's a patch that checks for tick faces with beyond_zv, for the current line
face with it->what, and that moves all face setting for line numbers entirely out of
the loop.