Running exactly your test case, I can't get M-v to insert √ because
the news is a read-only buffer and Emacs complains. If I instead fill
up *scratch* with garbage for a few screenfuls and otherwise duplicate
your steps in *scratch*, I can indeed see √ inserted from M-v.
It does appear I was half-wrong about the dead keys; I *can* get
non-dead-key characters to insert into the buffer, but only if one of
the keys used in the scrolling *is* a dead-key (i.e., I can insert √
on M-v if I have M-n bound to scroll-up and alternate between the
two). Your patch is probably the correct solution, as it ultimately
does seem to be a result of the dead-key not being caught.