Quick answer: EventSystem → replace StandaloneInputModule with InputSystemUIInputModule. Inner Text RaycastTarget on. TMP InputField forwards keys correctly.

You install Input System. TMP_InputField stops accepting arrow keys, Backspace, Home/End. The legacy module is still on the EventSystem and doesn’t talk to Input System.

The Fix

EventSystem GameObject:
  Remove: Standalone Input Module
  Add:    Input System UI Input Module
    UI Actions Asset:  DefaultInputActions   // from package

TMP InputField:
  Inner "Text" component:
    Raycast Target:    true

Project Settings → Player:
  Active Input Handling: Input System Package (New) // or Both

The new module sources keyboard navigation, mouse clicks, and gamepad input through the Input System. Existing TMP InputField talks to the module via standard Selectable/IUpdateSelectedHandler.

Verifying

Click into InputField. Type. Arrow keys move caret. Home/End jump. Without the module swap: typing works but navigation keys are dead.

“Right module on EventSystem. Caret responds.”

Related Issues

For Input System composite, see composite. For UI Toolkit binding, see UXML binding.

New module. Caret moves.