Нужно убрать SNAT в POSTROUTING и на приёмнике маршрутизировать ответные пакеты в VPN. Тогда сервер-получатель будет видеть реальные адреса. Но придётся или весь интернет на той стороне завернуть в VPN (сделать дефолтный роут в VPN, что может быть неприемлемо), или упражняться с policy routing.
Объяснения по поводу настройки policy routing см.
Сложная маршрутизация на linux роутере. Как правильно готовить policy based routing?
Второй вариант - поставить на VPS nginx и передавать IP в заголовках http. На той стороне доработать/донастроить своё веб-приложение, что оно умело брать IP из заголовка X-Forwarded-For или X-Real-Ip. Но это только для http.