I changed (__bridge_transfer NSString *)kPasteboardTypeFileURLPromise
to NSFilesPromisePboardType
, and I can now drag files (with an extension at least) and they can be dropped successfully in the Finder. (I had used the former b/c the documentation for the latter recommended that, but they do not have the same effect.)
Also, I tried removing the conditional and allowing it to add an empty string for an empty extension, which worked like a charm. I can now drag out of the outline view into the Finder.