Hmm... Well, it's always plausible there is some sort of protection that is messing with it. However as your other keystrokes are going through fine that would not be my first guess. Would it be possible to see your full script (ofc remove anything involving personal data if any is present)?

The WASD keys might be going through fine in your <Hotkey> definitions, but the difference between this and <MovementHotkey> is that only movement hotkeys are held for each client when you keep the button pressed, so if they were, you would not know it since they would still not move your characters.