It is incredibly disappointing to hear that Apple has intentionally made an API behavior inconsistent and unreliable, not only on iOS but also between iOS and macOS.
For example, we rely on intercepting the return key to automatically uppercase certain lines, know when to do additional text processing, and modify default text attributes. We also rely on key press interception to update metadata for other purposes based on which key was pressed.
All this works perfectly with the hardware keyboard, AND we can reuse the same code on macOS (it actually originated on macOS). But now I have to rewrite all of this and figure out how to keep things working because Apple has determined that hitting a key on the software keyboard should do something different than when that same key is pressed on a hardware keyboard.
This is the kind of frustration those of us who have tried to build productivity apps on iOS regularly encounter.