Mas como saber se o ACK final está perdido?
Porque não o recebeu dentro do período de tempo limite. Eu sei que é uma resposta "duh", mas é exatamente por isso que esses estados e tempos limites existem.
O passivo mais próximo reenviará o FIN
Não. A menos que outros pacotes cheguem para esse fluxo, e isso resultaria no envio de "RST" (redefinição).
Todo o processo é uma máquina de estado complicada para executar um desligamento ordenado, apesar da possibilidade de falhas na rede. As redes quebram, os links experimentam erros, os links ficam saturados e precisam eliminar pacotes, os dispositivos falham, etc. Como exercício, execute a árvore de estados para uma conexão ativa quando um dos pontos de extremidade simplesmente desaparecer (por exemplo, falha de energia).
TL; DR Essa árvore de estado foi projetada para lidar com todos os modos de falha possíveis.