Insert other menus as submenus of a main menu

In order to make it work I had to regenerate the menu order.

function custom_insert_service_menus($items, $menu, $args){
if($menu->slug != 'main-menu') return $items; // only run filter for main-menu
$new_items = [];
$menu_order = 1;
foreach($items as $item){

    $item->menu_order = $menu_order;
    $new_items[] = $item;
    $menu_order++;

    if($item->object == 'service'){
        $menu_id = get_field('menu', $item->object_id);
        if(!empty($menu_id)){ // no menu so skip item
        $service_menu_items = wp_get_nav_menu_items($menu_id);
            foreach($service_menu_items as $service_menu_item){
                if($service_menu_item->menu_item_parent == 0){
                    $service_menu_item->menu_item_parent = $item->ID;
                }
                $service_menu_item->menu_order = $menu_order;
                $new_items[] = $service_menu_item;
                $menu_order++;
            }
        }
    }

}
return $new_items;
}