Pressing the down arrow key will sometimes scroll the parent element of the iframe, since it generates an inline box with some whitespace below. This parent element having overflow: hidden meant that it was impossible to scroll deliberately and I would be stuck with a white gutter on the bottom of the viewport for the remainder of my editing session.
Instead of overflow: hidden, give the iframe display: block to avoid generating an inline block.