For "Preserve Black" I can use the preserveBlack option from colorConvertAction object. However, there is no option on colorConvertAction to do what "Promote Gray To CMYK Black" does.
Using just Preserve Black all DeviceGray objects are mapped to rich blacks on CMYK, but using Promote Gray To CMYK Black does what I want, no rich blacks.
Hope this can help.
Yes, it is really messy. I am looking to create a custom preflight fixup for this, it is the only way I see total control in this process.
Having exactly the same issue. Hundreds of unprintable PDF waiting for me to have them offset cmyk printable.
Unfortunately I did nof find a way to get the "Promote Gray To CMYK Black" option in any preflight fixup.
Would really help!