Parece um problema de MTU para mim. Eu não sei o que é o algoritmo MTU do Vista.
Como um teste simples, defina o MTU do seu computador Vista artificialmente baixo, como 500, e veja se isso resolve o problema. Se assim for, podemos dizer que a MTU é a causa e voltar a olhar exatamente como corrigir isso.
O que é o MTU?
MTU == Unidade Máxima de Transmissão. Efetivamente, é o maior pacote de ethernet que seu computador enviará. A especificação IP diz que, se um roteador recebe um pacote muito grande para enviar sua (outra) interface, ele pode fragmentar o pacote ou enviar de volta uma mensagem ICMP que diz "isso é muito grande". A fragmentação é ruim para o desempenho, no entanto, muitos desses roteadores nunca concordam em se fragmentar. Além disso, os sistemas operacionais modernos usam um truque para determinar a MTU ideal para um determinado caminho, enviando pacotes em tamanhos decrescentes até que eles não tenham mais uma resposta sobre o pacote ser muito grande. Este é o Path MTU Discovery, ou PMTUD.
O que está acontecendo com você é que um roteador em algum lugar está se recusando a fragmentar um pacote, mas sua máquina com o Vista nunca está ouvindo sua notificação de recusa. Quando você define seu MTU realmente pequeno, você está dizendo ao sistema operacional que sempre transmita pacotes menores do que qualquer circuito moderno pode não aceitar, para que seus pacotes nunca encontrem a necessidade de fragmentar.
Atualizar
Agora que sabemos que é um problema de MTU e que envolve apenas o roteador do Ubuntu, isso implicaria que o roteador do Ubuntu está quebrando a fragmentação de pacotes de alguma forma.
Está executando um firewall? Está bloqueando o ICMP? Se sim, tente desabilitar isso. (Obviamente, volte para o MTU padrão de 1500 primeiro; caso contrário, você estará depurando um problema que não existe mais).