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.
As Leosghost suggests, "Fit to width" is NOT ON by default in Windows either. However, users can set this to be on all the time in Preferences, but I think that would be a bit risky as it breaks quite a few sites IMO.
Oh, that's reassuring. Wonder how I came to change it? (Answer: probably by misunderstanding what it would do. I've often had to un-set preferences in Graphic Converter after realizing Yeowch! That is definitely not what I wanted!)
I may try Option C anyway just for the fun of seeing if it works (font-testing worked a treat* after I got rid of all the error-handling extranea ;))
* Except on some versions of IceWeasel and Firefox for Linux, due to a non-standard fallback system. But there's a workaround.