register_nav_menus() not registering

Perhaps it’s happening too early and getting stomped on later. Try doing it the traditional way, in an init hook callback, like so:

function register_my_menu() {
    register_nav_menus([
        'main-menu' => esc_html__('Main Menu', 'myfirsttheme'),
    ]);
}
add_action( 'init', 'register_my_menu' );