Generally speaking, the best practice is to keep ERPNext on its own server. That said, it’s certainly possible to run other services along side it, though you run the risk of conflicting packages.
What you are asking here is not really about ERPNext but about general server administration. Your questions suggest that you don’t have much experience, so I would strongly advise you to not make these changes yourself. In summary, though, the task is to transfer the files to the new server, make sure all wordpress dependencies are available, and reconfigure nginx to handle wordpress requests appropriately. It’s hard to get much more specific than that without knowing a lot about your server configuration.
As for running ERPNext on a subdomain, the best way to do it is to use the command bench setup add-domain with appropriate parameters. Be careful, however, because this can definitely break your setup. You also need to update your DNS entries if necessary.