Вы должны понимать, что "железный" в вашем примере - это не ВПН реализованный в "чипе". В микротиках есть свой процессор, на котором крутится операционная система, ВПН там реализуется точно так же как и программный вариант, даже с высокой вероятностью используется то же самое ПО, которое вы бы использовали в программном варианте. Но часто производители железок модифицируют ПО под свое понимание проблемы и какой-то функционал, который работает в стандартном варианте в железке работает не так или не работает вовсе. У некоторых производителей железок есть своя собственная реализация ВПН.
Но если вы плохо разбираетесь в теме (или у вас нет человека разбирающегося в теме), то есть смысл использовать ВПН встроенный в роутер. Там по крайней мере из коробки обычно есть более-менее сносный веб интерфейс и настроить ВПН в принципе не сложно.
Впрочем в "программном" варианте можно то же прикрутить интерфейс и возможностей по настройке больше, но это потребует более глубоких знаний.
Кстати, никто не запрещает делать "гибридный" ВПН. Если в железке ВПН реализован с использованием каких-то стандартных протоколов, то вы можете использовать и его программный вариант в тех точках где это будет удобно, а в других местах использовать "железный" ВПН. В общем нет никакого смысла себя загонять в рамки железный/программный - действуйте по обстоятельствам.
На счет белых IP - для ВПН вам понадобится хотя бы 1 белый статический адрес, на нем вы развернете ВПН сервер. Можно использовать схему динамический белый адрес + DDNS, но это так себе идея. ВПН клиенты могут использовать серые адреса. Под ВПН сервер вы можете арендовать VPS или развернуть его где-то на своей площадке где уже есть белый адрес.