The problem is that your desktop environment's shortcut handler intercepts Alt+V before KeePassXC ever sees it, so the internal keybinding never fires. And when pgrep finds the process running, your command simply does nothing.
The fix is to use KeePassXC's --auto-type CLI flag, which sends the auto-type signal to a running instance:
Command for your custom shortcut (Alt+V):
bash -c 'pgrep -x keepassxc > /dev/null && keepassxc --auto-type || keepassxc'
Not sure how keepass behaves though. Maybe you don't need the condition at all and can just run keepassxc --auto-type from the shortcut and if there is no running instance it will start it.