Se você quiser alterar o destino, mas não a fonte, acabe com a regra "SNAT".
Desculpe não leu a pergunta com cuidado o suficiente.
let's say, my server y.y.y.y is pinging x.x.x.x, it come on my vpn server and i dnat "destination x.x.x.x to 172.17.0.6 and on my home server i get packets with source 172.17.0.1
O DNAT somente altera o destino de uma conexão, não a origem. Se você está vendo uma fonte de 172.17.0.1, então você deve ter outra regra SNAT ou MASQUERADE que não esteja listada na sua pergunta que está afetando o pacote. Você precisa remover essa regra ou limitar seu escopo para que ela não afete as conexões que chegam ao seu servidor doméstico.
Se você quiser mais ajuda, por favor poste uma lista completa das regras do iptables para o seu servidor, não apenas aquelas que você acha que são relevantes.
it go back on my vpn and get snat to go back to y.y.y.y
Não, ele é convertido de forma reversa usando o rastreamento de estado estabelecido quando o primeiro pacote da conexão (psuedo-) foi processado. iptables tabelas nat apenas são processadas para o primeiro pacote de uma conexão.