I hadn't noticed this before, but doing a file export out of iPhoto and selecting the kind as JPEG allows the caption/description and keywords to be saved into the IPTC metadata of the exported files.
If the IPTC caption doesn't appear, it might need to be re-written:
exiftool -iptc:all= -tagsfromfile @ -all:all -unsafe .