"If it hurts, don't do that." You've put window-start on a position
that is at the beginning of a line, but happens to be covered by an
overlay. Emacs obeyed.
What did you expect instead, and why? Is there some real-life use
case where this causes trouble?