самый простой способ это создавать и добавлять элемент script на страницу в нужный вам момент. Тогда правда он будет некоторое время подгружаться. Если это не подходит, то оборачивайте весь код скрипта в функцию.
Самым грамотным решением в данном случае было бы хранить все данные на сервере, а клиенту отдавать id сессии в cookie, по которому и предоставлять необходимые данные. Если говорить про реализацию полностью на фронте, то почитайте эту статью
Ajax запросы перезагрузить страницу не могу, поэтому возможно её перезагружает что-то, что запускается вместе с featch. Убедитесь что если ajax запрос совершается при отправке формы используется event.preventDefault() и предоставьте полный код функции, которая делать запрос.
Давайте начнем сначала. Для того чтобы вообще что-то сделать только для определенных устройств, нужно сделать вашу страницу адаптивной. У tproger.ru есть отличная статья на тему адаптивности https://tproger.ru/translations/responsive-web-des..., 7 и 8 которой обязателен для прочтения для решения вашей задачи. По поводу отключения hover, то легче написать код который будет его включать для всех кроме планшетов 1024x1366 и (как я понял) меньше, но как вариант есть перевод вопроса с StackOverflow https://coderoad.ru/5069110/