Решил свою проблему, описанную выше. Для начала вынес роль бордера на mx204 в надежде, что, оставив только роль NAT на сервере , чтобы не пришлось бегать по таблице маршрутизации, проблема уйдет. Но нет, проблема осталась.
Машину под NAT я сделал, используя nftables + flow offload ( статья на Хабре ), для этого взял Ubuntu 20.04. Изначально я поставил самый свежий драйвер i40e от Intel на sourceforge. И только потом вспомнил, что на этом драйвере дропы выросли многократно.
Итоговый вариант: включен HyperThreading, ubuntu 20.04, mitigations=off, драйвер i40e в комплекте с ядром, кол-во очередей равно ядрам+HT, ethtool -C rx tx 50. Трафик на одном интерфейсе разделенный на 2 влана (влан1- наша сеть, влан2 - в сторону бордера/аплинков). Поскольку очереди привязаны к local numa, получается, второй процессор отдыхает совсем.
За последние сутки дропов 0 при пике в 26,57 гбит/с и 3,39 мппс в каждую сторону. При этом минимальный idle у задействованных ядер примерно 82% . Напомню , cpu E5-2690v4
Благодарю за ценные советы автора статьи на Хабре.