I think I solved this using maximum-repeats. The method I am using is as follows:
<fo:page-sequence-master master-name="main">
<fo:repeatable-page-master-alternatives maximum-repeats="2">
<fo:conditional-page-master-reference master-reference="blankpage"
blank-or-not-blank="blank"
page-position="first"/>
<fo:conditional-page-master-reference master-reference="first-main-recto"
odd-or-even="odd"
page-position="any"/>
<fo:conditional-page-master-reference master-reference="body-main-verso"
odd-or-even="even"
page-position="rest"/>
<fo:conditional-page-master-reference master-reference="last-main-verso"
odd-or-even="even"
page-position="last"/>
</fo:repeatable-page-master-alternatives>
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
<fo:conditional-page-master-reference master-reference="last-main-verso"
odd-or-even="even"
page-position="last"/>
<fo:conditional-page-master-reference master-reference="last-main-recto"
odd-or-even="odd"
page-position="last"/>
<fo:conditional-page-master-reference master-reference="first-main-recto"
odd-or-even="even"
page-position="first"/>
<fo:conditional-page-master-reference master-reference="first-main-recto"
odd-or-even="odd"
page-position="first"/>
<fo:conditional-page-master-reference master-reference="body-main-verso" odd-or-even="even"/>
<fo:conditional-page-master-reference master-reference="body-main-recto" odd-or-even="odd"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
where the last-main and first-main page-masters are defined as needed in my simple-page-masters section and my chapters are defined in such a way that they begin with a blank page if necessary (rather than ending on one) and force-page-count is set to no-force throughout.
I may actually have more conditionals than I need, but I'm erring on the safe side. The idea is that the first repeatable-page-master-alternatives will be used at most twice. If my chapter starts on a blank page, the 'blank' page-master will be used on the first (blank) page, and then my 'first' page-master will be used on the second page (which is the first page with content). If my chapter doesn't start on a blank page, the 'first' page-master will be used, followed by the 'body' page-master. 'last' page masters are defined as well, in the odd case of a 2-page chapter. After the second page, the second repeatable-page-master-alternatives kicks in, applying the expected masters throughout the rest of the chapter. Seems to be working and thought it might be useful to someone else, as 'maximum-repeats' doesn't seem to be a topic of a ton of discussion.