Почему при подключении к серверу-донору VPN показывает настоящий IP?
Потому, что для возможности маршрутизировать ваш трафик через VPN, ваша таблица маршрутизации вынуждена исключать адрес самого VPN-шлюза, иначе она не сможет соединиться с VPN-шлюзом.
Если вам необходимо сокрытие адреса и на этом сервере, этого можно добиться подключением с другого места, т.е. либо перенеся VPN-сервер на другую ноду, либо используя сторонние прокси, либо используя Tor.
Ещё можно подключаться к серверу по SSH по его внутреннему IP в этой приватной сети, а затем входить на сайт через local port forwarding, настроив его, например, на 1234:127.0.0.1:80, а затем открывая у себя в браузере 127.0.0.1:1234. В этом случае в логах сайта подключения будут происходить с 127.0.0.1. 
Возможные нюансы: 1) ссылки на сайте должны быть относительными, а не заполнены полным доменным именем, иначе в браузере они все будут выглядеть не как 127.0.0.1:1234/something/, а всё-время переключать на основной домен; 2) сам сайт для этого должен разрешать приём подключений без указания домена, иначе случится несовпадение location/vhost и сайт таким способом не откроется.
Если я не ошибаюсь, то надо отказаться от MASQUERADE в пользу SNAT
То есть удалить строки, где openvpn трафик засовывается в MASQUERADE, а вместо этого прописать:iptables -t nat -I POSTROUTING -s 10.10.15.0/24  -j SNAT --to-source БЕЛЫЙ_IP_VDS
Кстати,  SNAT быстрее работает, чем MASQUERADE