Почему XMLHttpRequest.getAllResponseHeaders() не показывает мои собственные кастомные заголовки?
Не все заголовки доступны из сценариев в случае разных доменов / cross-origin, для контроля этого существует специальный заголовок Access-Control-Expose-Headers, Вам нужно с сервера отправить 'Access-Control-Expose-Headers'  с 'Abra-Kadabra'
Потому что getAllResponseHeaders() отображает заголовки получателя , которой дает вам доступ на запрос . 
Вот разъяснение из документации : 


XMLHttpRequest.getAllResponseHeaders ()

Метод XMLHttpRequest getAllResponseHeaders () возвращает все заголовки ответов, разделенные CRLF, в виде строки или возвращает null, если ответ не был получен. Если произошла сетевая ошибка, возвращается пустая строка.


