SELECTED ANSWER
replied on October 19, 2018
I'm still not sure if there's a better way to do this, and if someone has one I'll select a different answer, but for now I came up with some fairly compact code to get the watermarks added.
Basically I had to create a List of WatermarkSpecifications, retrieve a TagWatermarkCollection, loop through each TagWatermark, add a WatermarkSpecification to the list with the attributes from each TagWatermark, then add that list to the document exporter.
// Build a list of watermarks and add tag watermarks associated with the document
List<WatermarkSpecification> watermarks = new List<WatermarkSpecification>();
foreach(TagWatermark w in doc.GetTagWatermarks()){
watermarks.Add(new WatermarkSpecification(w.WatermarkText,w.WatermarkTextSize,w.WatermarkRotation,w.WatermarkPosition,String.Empty,0,String.Empty,0,w.WatermarkIntensity));
}
// Initialize document exporter
DocumentExporter dExp = new DocumentExporter();
// Configure document exporter settings
dExp.CompressionQuality = compression;
dExp.IncludeAnnotations = true;
dExp.BlackoutRedactions = true;
dExp.PageFormat = DocumentPageFormat.Jpeg;
dExp.Watermarks = watermarks; // Add watermarks to exporter