I have been looking into fixing this and I have identified the problem but I'm not certain if this should be fixed at all.
It seems that the Qt::KeypadModifier is purposefully ignored. In src/gui/kernel/qshortcutmap.cpp at QShortcutMap::createNewSequences() there is this bit of code.
582: // Filtering keycode here with 0xdfffffff to ignore the Keypad modifier
583: curKsl.setKey(possibleKeys.at(pkNum) & 0xdfffffff, index);
If I remove the 0xdfffffff masking the reported problem goes away but there is a major behavioral change.
Currently if you for example set a shortcut "Qt::CTRL + Qt::Key_5" it will work from keyboard and keypad. When masking is removed it will ONLY work from the keyboard not keypad. This is a big change for existing applications that rely on this. To keep the same functionality a second shortcut with Qt::KeypadModifier would have to be added.
So in short fixing this would possibly break some existing applications and for this reason it may be better just to document this as a known issue.