Just did some minor tinkering and here's some prototype code (would obvs needs translations and such, but it works --
(function($){
// This may need some browser support checks to make sure it's there --
// https://caniuse.com/mdn-javascript_builtins_intl_datetimeformat_resolvedoptions_computed_timezone
const browserTz = Intl.DateTimeFormat().resolvedOptions().timeZone;
const $tzSelect = $('#timezone_string');
if ( $tzSelect.val() !== browserTz ) {
$tzSelect.after( '<p>Your browser timezone is currently set to <code>' + browserTz + '</code> -- <a class="updateTzSelectToBrowser" href="#">would you like to update the WordPress timezone to match?</a></p>' );
$tzSelect.parent().find('.updateTzSelectToBrowser').on( 'click', function(e){
e.preventDefault();
$tzSelect.val( browserTz );
$(this).parents('p').text('Updated!').fadeOut('slow');
})
}
})(jQuery);
My gut feeling is it'd be easier to add here to save someone scrolling through the massive dropdown, but totally doable to populate via js in the install flow if we wanted there as well.
Definite +1 to getting something along these lines in.