For those interested, here's how I fixed it:
When you map keys with "m" on the virtual keyboard, they get stored with the "keymap", not hotkeys or joystick map. You have to "save current keymap to" to save it to a file. Then you have to change the "Active Keymap" to "Positional (user)".
I actually did another step by manually loading the keymap before I quit vice, but I don't think you need to do that. The next time you load up vice, the user keymap you saved should be loaded.