Solving my own issue based on the response here: Can trade in demo account, having trouble with live account - #10 by Alexander
You need to call the account list endpoint, get the demo account userspec and userid, use that with when routing the orders and everything should work as expected.