> У меня оба файла исключительно в utf-8.
Кодировка файла не имеет вообще никакого отношения к отправляемым данным.
Имеет значение только кодировка, заданная в НТТР заголовках.
> На сервере принудительно выставлено utf-8 через htaccess
Никого никогда не интересует, что где выставлено. Важно не то, что "выставлено", а то, что фактически отдается в реальности.
Смотреть надо не в htaccess а в консоль разработчика в браузере, в какой кодировке отдает форму сервер.
В этой же самой кодировке данные будут отправлены на сервер обратно.
> В чем может быть загвоздка?
Никто не знает. Гадание на кофейной гуще не входит в профессиональные обязанности программиста.
Если одна строка не равна другой - значит надо вывести обе эти строки, включая непечатные символы, и смотреть в чем разница. Для вывода можно использовать например функцию bin2hex.