All of those terminals work for you now because someone went and added terminfo to ncurses which distributed it across all versions of linux.

Kitty needed to do it too back in 2018.

https://lists.gnu.org/archive/html/bug-ncurses/2018-09/msg00...

Note: Ghostty follows the same pattern as Kitty where they a) use their own terminfo, b) distribute it when ssh'ing (it gets pushed to the remote server) and c) added it to ncurses so that it will eventually go away.