After some testing, the best seems to directly output the thumbnail image to a JPG file:
./exiftool IMG_1043.JPG -ThumbnailImage -b -w _tn.jpg
to allow creating thumbnails somewhere in a cache folder.
Outputting the binary data to console, capturing it in Java, processing it using limited length buffers and in the end knowing when the stream has finished (which it theoretically never does since exiftool keeps running) is nearly impossible. ExifTool does a great job outputting the thumbnail to disk.