IFD0 is a directory, not a blob
A TIFF-structured EXIF block starts with a byte-order mark, an offset to the first directory, and then a table of entries: tag id, type, count, and either an inline value or an offset to one. There are separate directories for the main image (IFD0), the capture details (Exif IFD), GPS, and interoperability. “Has GPS” is really “IFD0 links to a GPS IFD”.