Stasgar: я предположил, что твориться конкретно в кишках браузера при обработке именно аякс-запроса. setTimeout несколько из другой степи. Вообще, должно быть так, что в браузере в одном потоке js-движок, и в отдельном работа с сетью, и эти потоки как-то общаются между собой, скорее всего через систему обработки событий, а значит, вопрос про коллбэки плавно перетекает в вопрос об устройстве системы обработки событий в браузере. Но это не точно, сам новичок в js :)