Если вы включаете внешний скрипт в разделе <head>, он загружается и выполняется до отображения страницы, поэтому вы уверены, что если пользователь увидит страницу, которую они получили, она будет отслеживаться. Для тегов <img> такой гарантии нет, так как пользователь может уйти, прежде чем браузер запустит запрос загрузки для этого изображения.
Итак, если вы хотите оптимизировать отслеживание, используйте <script>, но если вы хотите оптимизировать производительность (без замедления, если сайт отслеживания медленный), используйте <img>.
Проблема кэширования существует в обоих случаях и может быть решена путем отправки правильных заголовков с сервера или добавления аргументов, связанных с кэшем, к URL-адресу.