The prior fix (a94a380) handled Chrome Android via the keydown path.
Firefox Android does something different: the soft-keyboard Enter is
intercepted at the input layer as "advance to next form field" — no
keydown fires for us to intercept, so the user's tag was lost and
focus jumped to the next ActivityForm input.
Add an onbeforeinput handler. InputEvent.inputType === 'insertLineBreak'
fires on every modern browser when the user submits via Enter,
even when keydown is suppressed at the IME/keyboard layer.
preventDefault'ing here cancels the focus-advance before it happens.
Idempotent with the existing onKey:
- Chrome: keydown fires with Enter, our preventDefault cancels the
line-break, so beforeinput never fires.
- Firefox Android: no keydown for Enter, beforeinput fires with
insertLineBreak, we commit there.
- Android Chrome with IME composition: composing flag short-circuits
both paths so we don't commit mid-composition.
Comma + button remain as platform-agnostic fallbacks.