According to the documentation of VSCode remote code execution is handled by an extension saved on the server: https://code.visualstudio.com/docs/remote/ssh
If you setup remote debugging with PyCharm a similar thing happens where some IDE code is installed on the server to be able to pipe commands and results back and forth: https://www.jetbrains.com/help/pycharm/remote-debugging-with-product.html#remote-interpreter
Inherintly it seems these two approaches are not at odds, given you don't try to run them both at the same time. If you run them both at the same time they might conflict about (port) forwarding in SSH.
For PyCharm remote debugging there are now 2 options, the remote interpreter which has your IDE locally and your interpreter/execution on the server and a remote development with a server which runs more code on that server to be able to give you the IDE experience. They might conflict in different ways with VSCode.
As far as caveats go I have found that remote execution environments can consume quite a bit of space. So keep an eye on that.
Of course all standard security concerns apply as well, but that is not linked to one or multiple remote code environments.