Я задал конкретный вопрос, а вы развели какую-то демагогию на пустом месте. Запрос к серверу, асинхронный он или нет, завершается одним и тем же - загрузкой данных (ну или ошибкой, но этот вариант мы сейчас не рассматриваем). Всё. Исполнение скрипта (и вызов callback) - это уже отдельная магия jQuery и реализована она может быть по-разному в зависимости от особенностей браузера.
В общем, нашёл объяснение на странице
https://stackoverflow.com/questions/...d-vs-execution в последнем посте (за авторством Bizniztime), в котором есть ссылка на
http://perfectionkills.com/global-ev...e-the-options/
--- похоже, что до jquery-2.1.0 для выполнения скриптов использовался window.eval() с откатом на window.execScript() для IE и некоторых других очень старых браузеров. И вот эта execScript() не возвращает результата выполнения, поэтому коллбек будет запущен в любом случае.
Так что документация не врёт (хотя могли бы осветить этот момент подробней) и
лучше не закладывать порядок выполнения колбека в алгоритм.