On GrapheneOS (Android fork) I use following keyboards:
https://github.com/Helium314/HeliBoard
https://github.com/ElishaAz/Sayboard
Both open source, offline and all that.
Heliboard has all the nice features, including swiping, undo, cursor movement without touching input field, ultrabackspace and all that.
Sayboard works ok, but requires a lot of attention as often misstranscribes and don't recognize borrowed words/loanwords.