Как правильно развёртывать серверное приложение на VPS?
Как я понимаю, лучше всего для этого подходит виртуальный сервер - VPS. Так ли это?
Не обязательно. Возможны варианты.

Серверное приложение - это по сути программа, которая всегда работает на этом самом VPS. Например, которую запустили через линукс-команду screen, чтобы она не отрубалась
Это порнография, а не серверное приложение. Хотя направление мысли верное, но более правильно запускать приложение через systemd unit или что-то вроде supervisord, а не использовать screen.

Для простоты работы с зависимостями и развёртывания классно использовать Docker
Docker - это не магия, за всё придётся платить. Если где-то сложность уменьшилась, значит где-то она увеличилась.

Но не отразится ли использование Docker на производительности веб-приложения или игрового сервера?
Само по себе использование docker особого оверхеда не даст, а вот не лучшим образом собранные образы имеют место быть, как и полное непонимание того, как работает "эта фигня в докере".

У VPS есть определённый IP-адрес, по которому будет доступен мой сервер/сайт. А что случиться, если я захочу поменять VPS? Получается, у меня поменяется IP?
В пределах одного хостера IP может и получиться сохранить, но вообще всегда нужно быть готовым к тому, что IP придётся изменить (привет, роскомнадзор!).

Как это правильно хендлить? Ведь клиентская часть будет привязана к старому IP.
Пусть привязываются к доменному имени, а не к IP и проблем не будет.

Нужно ли на VPS ещё получать сертификат, чтобы было соединение по HTTPS?
Да

Как это правильно делается?
https://letsencrypt.org/ru/

Какие принципы безопасности нужно соблюдать при работе с VPS, чтобы защитить его от взлома?
DigitalOcean как замена хостингу. Как всё грамотно настроить?

PS Слишком много вопросов для одной темы.
>5. Нужно ли на VPS ещё получать сертификат, чтобы было соединение по HTTPS? 
vps это сервер
HTTPS это протокол передачи данных./веб сервера