That’s a very creative approach — I hadn’t thought of doing it this way. However, the user experience seems a bit complex, with switching keyboards, triggering the signature, and then switching back — if I understood correctly.
Have you tried using Aegis? This is how I implemented background execution on iOS:
1. Start Aegis, which launches a lightweight local relay service (only handling signature-related tasks) and sets it as the NIP-46 signature relay.
2. Move the app to the background and loop a silent audio track to keep it running in the background
With this setup, other nostr apps can continuously use the local relay for signing operations. The user experience is quite similar to using Amber, except that the app must not be killed.