Как защитить форму отправки писем от ботов и XSS?
Не изобретайте  велосипед , поставьте invisible recaptcha ...

Если все таки аж распирает от велосипедостроения вшейте пиксель в css или js который будет являться тем кто запишет в сессию пользователя флаг бот это или нет

Ваш js модуль песполезен, такие фильтрации надо делать на бекенде
Да для защиты от XSS нужен бэкенд и как они это там делают я вот вообще не в курсе, точно так-же как и ставят серверную часть. 
Но хотя-бы экрнирование input'ов можно произвести на фронте. Что в принципе я уже и написал на JS.