WP関数『wp_insert_post』に含まれるアクションフックは5つあります。
『pre_post_update』 ↓ 『edit_post』 ↓ 『post_updated』 ↓ 『save_post』 ↓ 『wp_insert_post』
の順に行われます。
そのため、『save_post』のときにupdate_post_meta()を実行すると、『wp_insert_post』の際に$_POSTの内容をもとに変更されてしまうため、 update_post_meta()によるカスタムフィールドの値が更新されません。
update_post_meta()を実行するためには、『wp_insert_post』に記入するようにしましょう。