I think I asked you to add this line, because I was assuming that you would modify handleNewKeyboards to ensure that the keyboard.current setting was always in the list of enabled keyboards, even if the keyboard group that contains it was not enabled.
(that would be a way to work around the other latins thing).

But since handleNewKeyboards() never uses the keyboard.current value, you should remove this call to it, I think.  Or maybe use the language.current setting to set defaultKeyboardNames[0] and then call handleNewKeyboards?