Ссылка инициализируется разыменованным указателем. Почему такое поведение?
Напомню лишний раз, что не важно, остаётся ли жива программа, запись по такому указателю представляет собой неопределённое поведение (Undefined Behavior). Это значит, формально, программа может форматнуть жёсткий диск или призвать демонов. Почему компилятор или программа не ловит такие ошибки — проверять доступ к памяти накладно, поэтому приходится всецело доверять тому, что ты знаешь, что делаешь.

На заметку, это тоже неопределённое поведение:
int a = 1;
int b = 2;
*(&a + 1) = 42;
Ходить указателями разрешается только в пределах массива.

UPD: Даже сама операция сложения, без разыменования - уже UB (пруф):
*(&a + 2 - 2) = 42;  // UB
Стек(хранилище локальных переменных и адресов возврата из функций) смещается сверху вниз(stack -= sizeof(struct allvalrs) / sizeof(void*)). То есть при запуске нового потока, его указатель стека находится на вершине. Соответственно Ваш код размещает переменные чуть ниже вершины и любой значительный плюс приводит указатель в не выделенную область памяти.