Hi! Sorry for my ignorance if I miss some basics here, but I am very new to Wordpress.
Anyway, I also use custom order statuses, and have spent some time trying to figure out why its not working.
I had to edit this post, as I can see I have a slightly different issue than the OP.
My issues is related to the reports in the dashboard. No sales are visible, unless they have one of the 3 mentioned statuses.
As far as I can see, the field post_status in the wp_posts-table must have the values "on-hold", "processing" or "completed" for you to use it in your reports.
But why cant you just use the meta_key _order_stock_reduced=yes from the wp_postmeta-table instead?
You state that "The only statuses that use WC to reduce the stocks are "on-hold", "processing" and "completed"."
That is correct, but when we change the status from "processing" to "customStatus", WC will not increase the stock again - as you would in your reports.
Again, sorry if I have missed some basic WP/WO here, but would appreciate any feedback from you :-)