Как настроить browser-sync для удаленного сервера?
Решение проблемы таилось в другом. Оказалось, что фаервол резал 3000 порт, у нас в компании первым делом безопасность. После того как мне открыли порт, я без особых усилий смог настроить browser-sync. 'use strict';
const browserSync = require('browser-sync').create();

gulp.task('bs', function(){
    browserSync.init({
        proxy: "http://example.com/", // проксирование вашего удаленного сервера, не важно на чем back-end 
        logPrefix: 'example.com', // префикс для лога bs, маловажная настройка 
        host:      'example.com', // можно использовать ip сервера
        port:      3000, // порт через который будет проксироваться сервер
        open: 'external', // указываем, что наш url внешний 
        notify:    true,
        ghost:     true,
        files:     [/*массив с путями к файлам и папкам за которыми вам нужно следить*/]
    });
    browserSync.watch([/*массив с путями к файлам и папкам за которыми вам нужно следить*/]).on('change', browserSync.reload); //вотчер для команды перезагрузки bs
});

gulp.task('build', gulp.series('compile', gulp.parallel('watch', 'bs')));
Заходим по ssh на наш сервер и запускаем сборку.
Открываем http://example.com:3000/, и наслаждаемся всеми фишками browser-sync.
Может моё решение кому нибудь пригодиться, оставлю его здесь.
Исходя из комментария https://stackoverflow.com/a/35822444/8400413, настроил следующим образом.
GulpbrowserSync.init({
		socket: {
			domain: "localhost:3000"
		}
	});
Перед < /body> на удалённом сервере<script id="__bs_script__">//<![CDATA[
			document.write("<script async src='http://localhost:3000/browser-sync/browser-sync-client.js?v=2.18.13'><\/script>");//.replace("HOST", location.hostname));
		//]]></script>