I've been testing this over the last couple of days and I'm getting strange results. I can clearly see in the code that we're setting the RTH flag and transmitting to IB. On my futures trading, the order is accepted and filled. However, with equities it is not. I'm seeing the behavior you're describing. I have yet to find a setting in TWS and what's even more curious, if I click on the order itself in TWS, the "Fill outside RTH" checkbox is grayed out.
Still not there with the outside hours order - did it again today - I'm trading futures and the stop order goes through as GTC but it should also be trigerable outside of trading hours.
I have to manually create a new order for it to take effect.