Да, красиво вышло. То есть всё-таки оказалось можно поднять всю эту конструкцию на L3, а не L2.
Пришлось немного подшаманить ваш метод и он таки заработал. Оказывается, статический proxyARP поднимается вполне себе штатными средствами OS, кот бы мог подумать.
Во-первых, создавать dummy-интерфейсы не понадобилось -- я навесил оба белых IP на оба конца tun0/tun0.
Во-вторых, статический маршрут на сервере B OpenVPN прописывает сам, если указать в его настройках топологию p2p
В-третьих, скорее всего, придётся использовать redirect-gateway на клиентской стороне без def1, т.к. там ещё интерфейс с локалочным адресом, у которого смена дефолтного шлюза вызывает недопонимание. Буду экспериментировать.
Спасибо большое!