Вполне можно.
Во-первых, нужно поднять любой VPN (например, openvpn) между VDS и домашним сервером, чтобы с VDS были видны внутренние IP-адреса виртуалок в KVM
Во-вторых, понадобится делать DNAT на VDS нужных внешних IP в нужные внутренние IP для заворачивания трафика в туннель.
В-третьих, возникнет проблема возврата обратного трафика через VPN, потому что default route на сервере KVM ведёт мимо VPN. Этому есть решения: 1. делать SNAT трафика на VDS (проще, но виртуалки будут видеть адрес другого конца VPN вместо реального адреса обращающегося клиента); 2. делать policy routing на KVM (намного сложнее, но все IP будут видны как есть); 3. вместо DNAT сделать reverse proxy, который будет светить адрес в X-Forwarded-For/X-Real-IP (пойдёт только для http-подобных протоколов).