I ended up finding some rogue code in my child theme’s function.php file. I think I had added this a while back to force the login/logout links to appear:
/*
add_filter('wp_nav_menu_items', 'add_login_logout_link', 10, 2); function add_login_logout_link($items, $args) { ob_start(); wp_loginout('index.php'); $loginoutlink = ob_get_contents(); ob_end_clean(); $items .= '<li>'. $loginoutlink .'</li>'; return $items; }
*/
Removing this seems to have cleared up the issue for me.