Все стало понятно. Контроллер запускается до директивы и в момент инициализации модели status в dataService.test уже находится строка «SYNC DATA!» (я же подумал, что сработал биндинг). А строка «ASYNC DATA!» не записалась в модель потому, что я попытался забиндиться на примитив, если dataService.test будет объектом все отработает как положенно.