Multipe array in meta_input

In your 2nd code snippet, you’re redefining $post_args for each $movie. Try this instead:

$post_args = array();
foreach($movies as $movie) {
    $i++;
    $post_args[] = array(
      array(
          'key'   => 'title' . $i,
          'value' => $movie['title']
      ),
      array(
          'key'   => 'qty' . $i,
          'value' => $movie['qty']
      ),
      array(
          'key'   => 'desc' . $i,
          'value' => $movie['desc']
      )
    );
  }

  wp_insert_post( array(
      'post_title'    => '1',
      'post_type'     => 'departure',
      'meta_input'    => $post_args
  ) );