Row size limits in Mysql w.r.t to TEXT and BLOB columns
It is also stored the length of the data, that is why it is 9 - 12 , if you want it exactly.

https://github.com/jeremycole/mysql/blob/master/storage/innobase/include/btr0cur.h#L762

/** The reference in a field for which data is stored on a different page.
The reference is at the end of the 'locally' stored part of the field.
'Locally' means storage in the index record.
We store locally a long enough prefix of each column so that we can determine
the ordering parts of each index record without looking into the externally
stored part. */
/*-------------------------------------- @{ */
#define BTR_EXTERN_SPACE_ID     0   /*!&lt; space id where stored */
#define BTR_EXTERN_PAGE_NO      4   /*!&lt; page no where stored */
#define BTR_EXTERN_OFFSET       8   /*!&lt; offset of BLOB header
                        on that page */
#define BTR_EXTERN_LEN          12  /*!&lt; 8 bytes containing the
                        length of the externally
                        stored part of the BLOB.
                        The 2 highest bits are
                        reserved to the flags below. */
/*-------------------------------------- @} */