Thank you Thomas, Dominik, and Chris for your replies.
tl;dr is that there was a vim bug between version 8.2.2345 Jan 14 2021
and 8.2.2564 Mar 3 2021, and the ubuntu 21.04 vim 8.2.2434 has the bug.
Chris's mention of xterm FocusIn/FocusOut led me down the right path.
vim 8.2.2345 added support for enabling FocusIn/FocusOut features,
but missed not enabling it if vim's "noesckeys" option is set.
If "noesckeys" is set, the FocusOut escape sequence from xterm is handled
as ESC, then [ then O - which ends insert, then beeps at the O.
Otherwise it could run an autocmd is one is set.
Why did I think this was fvwm related? I think xterm only gets these events
with a suitably modern window manager.
I tried it with old window managers (ctwm, vtwm) and with no window
manager, and I only saw it with fvwm. I should have tried with some
other modern window manager, but didn't really have one handy. (Sorry.)
This vim bug only showed up if "noesckeys" was set - I set "compatible"
(I'm old school vi-wise), which sets "noesckeys". So you need a particular
vim patch level, and esckeys turned off to replicate it.
And just in case you're interested, or anyone else stumbles on this,
setting these X resources seems to be a suitable workaround for me, until
ubuntu updates vim:
XTerm*allowMouseOps: false
XTerm*disallowedMouseOps: FocusEvent
Thanks again for your help, and apologies for my unintended digression!
John
| When I have the vim editor open in an xterm window, in insert mode,
| and move my mouse (and focus) into another window, the vim in the
| original window receives some sort of escape sequence that causes
| it to leave insert mode and beep.