My problem was that I was trying to create styles programatically, instead of doing it with a pre-made OO document.
I solved the problem by creating a blank workbook (in my en-US version of OO2), adding a currency style, and saving it. Then, I unzipped it into templates/spreadsheet, and explicitly used the template_path parameter in my ooDoc constructor.
Finally, I used the correct style when inserting currency (in addition to setting the value type).
(4)
]
