Suppose the VPN server I'm trying to connect with is behind NAT so obviously if I send a request, it'll be blocked by Its NAT. VPN server has nowhere to know who wants to connect with it in this globe.
Sim, se o servidor VPN estiver por trás do NAT, você não poderá se conectar a ele. O servidor VPN na verdade abre uma porta para outras pessoas se conectarem e as pessoas ao redor do mundo se conectam a ele. "Port Forwarding" significa que, supondo que você tenha um firewall entre o servidor VPN e a Internet (ou digamos um roteador), você define um encaminhamento para que cada conexão a uma porta específica no roteador seja completamente encaminhada ao servidor, como se o roteador não existia. No que diz respeito à topologia, trata-se de ter (pelo menos) um roteador conectado à Internet para o servidor, o qual pode passar solicitações para ele. Pode ser qualquer coisa (geralmente estrelar pequenas configurações). Então o fluxo básico é assim:
PC cliente - > Roteador do cliente - > ISP - > Outro roteamento em toda a internet - > ISP do servidor - > Roteador do Servidor - > Servidor
O inverso acontece na direção oposta. Finalmente, é o IP do roteador do cliente e o roteador do servidor que são usados para todo o roteamento. A última etapa é aquela que envolve o encaminhamento de porta (na verdade, pode haver várias máquinas rodando atrás de um único roteador executando VPN em portas diferentes também)