Init action and refresh page after form action

From the documentation:

add_action( 'init', 'process_post' );
function process_post() {
     if( isset( $_POST['unique_hidden_field'] ) ) {
          // process $_POST data here

In your example, perhaps having two different add_action is causing problems and burying your function where it’s not firing during init

I’m going to test a similar solution and see what happens, I will update if I learn more.