In case anybody has the same problem/question and you happen to come across this post:
I contacted Woo support regarding the question and asked whether Woocommerce Order Status Control plugin would enable me to do what I described. After receiving a useless AI-genereted answer and asking for a human to answer me (and waiting for a day), I actually got a solution from the support:
1. Install Code Snippets plugin if you haven't: https://wordpress.org/plugins/code-snippets/
2. Copy/paste this code into the .PHP section:
add_filter( 'woocommerce_payment_complete_order_status', 'wc_set_addon_orders_to_processing', 10, 3 );
function wc_set_addon_orders_to_processing( $status, $order_id = 0, $order = false ) {
if ( 'completed' !== $status ) {
return $status;
}
if ( ! $order && ! $order_id ) {
return $status;
}
$order = $order ? $order : wc_get_order( $order_id );
if ( $order ) {
$items = $order->get_items();
foreach ( $items as $item ) {
if ( ! empty( $item->get_meta( '_pao_ids' ) ) ) {
$status = 'processing';
break;
}
}
}
return $status;
}
Seems to be working for me!