Why does Image Capture import fewer pictures than it counted?
Duplicated photos seem to be the culprit. That is, photos added to the Camera Roll by means of the iOS Photos app's "Duplicate" command.

Photos are stored in the Camera Roll ordered by the time they are created. So if, on August 23, you Duplicate a photo from August 11, it will show up as the last picture on your Camera Roll... but you might notice scrolling through Camera Roll photos in order, that this Duplicate shows up with the August 11 date, same date as the original.

I have 3 photos (visible as separate items both on the device and in Image Capture) with name IMG_9234.JPG and the exact same date/time. Only one copy was imported.

Apparently when Image Capture sees these a photo with the same exact filename and same timestamp (which is probably a last-modified time, rather than a created time), it either ignores the picture (thinking it was already imported) or else it overwrites the last one it imported.

I'm not sure if this is a bug, an oversight, or was intentional.

But the discrepancy in the count is very annoying, since the number can't be used as a quick confirmation that all the photos were correctly imported.