The behavior you describe and the nature of the file make me suspect that this is a sparse file. Sparse files are a primitive compression technique, in which large sequences of null bytes in a file are not stored on the disk. Here is an example where I create a sparse file:
$ echo a | dd seek=999999999 >sparse
0+1 records in
0+1 records out
2 bytes (2 B) copied, 6.614e-05 s, 30.2 kB/s
$ ls -l a
-rw-r--r-- 1 gilles gilles 511999999490 Apr 30 00:03 sparse
$ du sparse
sparse contains 511999999490 bytes (999999999 blocks of 512 bytes, all zero, plus the two bytes
a followed by a newline). Yet the total disk space used by the file is 16kB (4kB for the final block, and 3 other blocks containing only metadata related to the location of the other blocks — all of them absent).
honey.img is a disk image which was created carefully enough, it may be sparse where the disk had unused space.
When you read from a file, there is nothing to mark it as sparse. So if
honey.img is a large disk image,
dd may be reading gigabyte upon gigabyte containing only null bytes.
ls -l and
du on the file (or, on OSX,
ls -ls) would show the number of bytes and the number of blocks used for storage. If the bytes wouldn't fit in the number of blocks, the file is sparse. As I write, you haven't posted legible data that could confirm or infirm this.
The one tool I know on OSX that can copy sparse files efficiently is rsync. However, what you're doing here is not copying a file from one filesystem to another, but copying a byte stream (that happens to come from a file) onto a disk. You can only do this if the data actually fits on the target disk.