As a test, I was able to accomplish my goal by making a few changes to org.dita.pdf2/build.xml. (I know I shouldn't modify this file, but I wanted to see what would happen.) Here's what I changed (highlighted in yellow)
<target name="transform.topic2fo.main">
<!--makeurl seems to output file:/C: style instead of file:///C:, but xep, fop, and ah all accept it.-->
<makeurl property="artworkPrefixUrl" file="${artworkPrefix}"/>
<makeurl property="dita.map.output.dir.url" file="${pdf2.temp.dir}" validate="no"/>
<makeurl property="work.dir.url" file="${dita.temp.dir}" validate="no"/>
<makeurl property="customization.dir.url" file="${customization.dir}" validate="no"/>
<makeurl property="user.input.dir.url" file="${user.input.dir}" validate="no"/>
<makeurl property="variable.file.url" file="${variable.file}" validate="no"/>
<pipeline>
<xslt style="${temp.transformation.file}" in="${dita.temp.dir}/stage1.xml" out="${dita.temp.dir}/
stage2.fo">
<param name="locale" expression="${document.locale}"/>
<param name="customizationDir.url" expression="${customization.dir.url}" if:set="customization.dir"/>
<param name="input.dir.url" expression="${user.input.dir.url}"/>
<param name="DRAFT" expression="${args.draft}"/>
<param name="output.dir.url" expression="${dita.map.output.dir.url}"/>
<param name="work.dir.url" expression="${work.dir.url}"/>
<param name="artworkPrefix" expression="${artworkPrefixUrl}"/>
<param name="publishRequiredCleanup" expression="${publish.required.cleanup}"/>
<param name="artLabel" expression="${args.artlbl}" if:set="args.artlbl"/>
<param name="antArgsBookmarkStyle" expression="${args.bookmark.style}"/>
<param name="antArgsChapterLayout" expression="${args.chapter.layout}"/>
<param name="include.rellinks" expression="${include.rellinks}"/>
<param name="antArgsGenerateTaskLabels" expression="${args.gen.task.lbl}"/>
<param name="pdfFormatter" expression="${pdf.formatter}"/>
<param name="bookmap-order" expression="${args.bookmap-order}"/>
<param name="figurelink.style" expression="${args.figurelink.style}"/>
<param name="tablelink.style" expression="${args.tablelink.style}"/>
<param name="variableFiles.url" expression="${variable.file.url}" if:set="variable.file.exists"/>
<param name="defaultLanguage" expression="${default.language}"/>
<xmlcatalog refid="xml.catalog"/>
</xslt>