проверь лог ошибок php - скрипт не падает с ошибкой?
мне кажется фетч может при post запросе автоматом добавлять enctype="multipart/form-data" и поэтому "php://input" нихрена не возвращает и скрипт падает при json_decode("")
нет конечно, по соображениям безопасности расширения не могут менять настройки браузера напрямую. можно наверное извратиться и через CreateObject("WScript.Shell") на винде попробовать, но не факт что будет работать
храни время последнего показа (срок жизни 24часа) и статус активности (срок жизни 1 минута) который пере-создается раз в минуту. если первое или второе значение отсутствует/устарело, то баннер