Yes, Batch compute resources are just ec2 instances - and reserved instances are just a billing mechanism, and are not assigned to a particular instance - i.e. you don't tell AWS which EC2 instance in particular is a RI and which is an OnDemand - it doesn't matter.
So if you have 20 RI, and need 40 running during the month, so you fill the gap with 20 on-demand or spot instances, then 20 will be billed as RI and 20 will be OD/or spot. If you kill any 25 instances (for example), you will still be billed for 20 RI in this example and no spot or OD instances.
My guess is that maximizing the use of spot instances is going to save you some money - but it is sound logic to have a certain number of RI around to provide a base level of service - and you can't count on there being ANY spot or ANY OD instances at any given time.