Turns out the culprit is a preference setting, "Fit to width" under Zoom Pages. I never use Opera except for code-testing, so I have to assume this setting is on by default. (It explains some weird behavior in other situations, and I can see where it would be useful on some sites, notably the ones that are always hot-linking to my images.) Looks like it takes any horizontal dimension that's wider than the current window and simply ignores it. There's no way you could expect the browser to figure out that this particular value is supposed to be greater than the available width.
So how do other people deal with this? Is there a way to look up the preference setting? Either to override it for this site alone (following the spirit rather than the letter of the pref, so I'm really not going against the user's wishes) or to throw out a one-time message telling users how to make the scroll area behave as intended.