The most straightforward way to do this is to override the existing shortcut with your own. Something like:
const PASTE = Blockly.ShortcutItems.names.PASTE;
const oldPasteShortcut = Blockly.ShortcutRegistry.registry.getRegistry()[PASTE];
const newPasteShortcut = {
...oldPasteShortcut, // Use original .name, .preconditionFn and .keyCodes.
callback(workspace) {
// Your implementation goes here, which might do the two things
// done by the original implementation:
workspace.hideChaff();
workspace.undo(false);