Thanks to the comment of @topsail, I've found the issue. I opened the command palette and entered Developer: Toggle Keyboard Shortcuts Troubleshooting. It showed me that ctrl+x is invoking default:cut command. The File -> Preferences -> Keyboard Shortcuts listed its source as user. I removed that, and a cut command (all lowercase) again with source=user. Now ctrl+x invokes Cut (with capital C) which cuts the text correctly.
I'm not sure where those default:cut and cut commands came from. Maybe when I upgraded from a very old VSCode version? Because I wasn't using VSCode in a while, and just upgraded it.