Двойной NAT - это когда трансляция сетевых адресов происходит дважды на пути от источника к месту назначения. например, один NAT за другим. Это очень маловероятно, но иногда возможно. например, маршрутизатор Wi-Fi, выполняющий NAT, подключен к другой сети, у которой есть шлюз, также выполняющий NAT.
UDP - ненадежный протокол. Так что пакеты могут вообще не приходить. Приложение должно быть достаточно умным, чтобы справиться с этим.
В приложениях UDP, обычно, когда клиент (за NAT) отправляет пакет UDP на сервер через NAT, NAT открывает порт для получения ответа от сервера и его пересылки обратно клиенту. Это динамично и будет открыто только в течение установленного времени. Вы не сказали, какой NAT вы используете, так что кто знает, какие это могут быть таймауты.