Tendo olhado em volta, incluindo links desta página, encontrei este ótimo artigo, usando o fuso horário do momento:
https://www.webniraj.com/2016/11/23/javascript-using-moment-js-to-display-dates-times-in-users-timezone/
Para resumir:
Obter o fuso horário do usuário
var tz = moment.tz.guess();
console.info('Timezone: ' + tz);
Retorna por exemplo: Fuso Horário: Europe / London
Definir o fuso horário do usuário padrão
moment.tz.setDefault(tz);
Definir fuso horário personalizado
moment.tz.setDefault('America/Los_Angeles');
Converter data / hora no fuso horário local, assumindo que a data / hora original está no UTC
moment.utc('2016-12-25 07:00').tz(tz).format('ddd, Do MMMM YYYY, h:mma');
Regresso: Dom, 25 de dezembro de 2016, 07:00
Converter data / hora em LA Time
moment.utc('2016-12-25 07:00').tz('America/Los_Angeles').format('ddd, Do MMMM YYYY, h:mma');
Volta: Sábado, 24 de dezembro de 2016, 23:00
Converter do horário de Los Angeles para Londres
moment.tz('2016-12-25 07:00', 'America/Los_Angeles').tz('Europe/London').format( 'ddd, Do MMMM YYYY, h:mma' );
Regresso: Dom, 25 de dezembro de 2016, 15:00