The only argument I see in favour of varlink is the ease of debugging, and this should never being an argument in a technical decision.
When your stuff is running in “prod”, your " ease of debugging" is thrown away, but the system continue to suffer.
Json for IPC is a terrible idea.
You have to change… 1- your default OS language (download all the language files, ZzZZz) 2- change the locale 3- apply the new locale to “all”, which is the login screen, current user, new created user.
Go in regional settings and adjust if needed, then reboot with a USB drive on a distro of your choice,
1- go through the installation 2- update if needed
Now you should have the desired keyboard.