@Jörgen I think the problem is due to keyboard layout locale in Android and iOS. I changed the "keyboard layout" from US English to German in Android 10, and I reproduced the problem you said you had on iPhone (minus key becomes "/" key).
Your problem is different on Android, however, I am almost certain it is still a keyboard layout problem. You have to also set the "keyboard layout" for the MotoButtons to US English. This will only effect the MotoButtons controller, not the rest of your system.
https://www.mobilefun.co.uk/blog/2015/04/how-to-fix-bluetooth-keyboard-language-settings/
https://support.apple.com/guide/iphone/add-or-change-keyboards-iph73b71eb/ios
In hindsight, I think MRA should use keys that do not change with different keyboard layouts. In other words, using n, c, +, - is probably a bad idea. However, on a US full sized keyboard, there are two minus keys. Maybe if I send the other one, it will work correctly on US and German layouts. I wasn't sure originally which one to send.
Lastly, in KeyEventDisplay, I noticed that holding down the center button does not release the key until the button is released. This is the proper behavior in DMD2, but it triggers the internal key repeat in Android. Again, the latest firmware is working correctly for me on iPhone and Android with US layout, but maybe this is also causing an issue on your Android tablet. I could try disabling the repeat for center button long press.
By the way, I am not studying the BarButtons code because I don't think he has released it as open source. So I am not looking at it to avoid any potential copyright questions.