async: false - полностью и бескомпромиссно вешает всю страницу. Ничего не будет работать, пока он не закончит.
Т.е. beforeSend отрабатывает, но до того как браузер начнёт рисовать результат страница зависает и отвисает только когда данные будут загружены.
Очевидное решение - не использовать синхронные запросы, тем более это поведение объявлено устаревшим и в любой момент его могут выкинуть из современных браузеров(как наберутся смелости поломать сайты подобным тебе ребятам
).