Кто объяснит чудное поведение position:fixed в моем случае?
Я не применяю выравнивание с помощью top/right, top/bottom
а надо. Если присвоить top, то всё нормально становится.
А логика простая, начальные координаты position берутся относительно родителя, и по скольку aside на разном разрешении у тебя находится на разной высоте(из-за хэдера) по отношению к окну браузера/начала страницы, то position забирает эти координаты. Как-то так получается.
Проблема может быть в других стилях этого элемента, или в неправильном подсчёте расстояний. Вы случайно отступы на JS задаёте ? Или наоборот попробуй задать их на JS, по формуле. Если мне не изменяет память родительский relative уместен, когда у дочернего элемента позишон absolute, когда же у элемента position fixed он выходит из общего стека. Поэтому проблема скорее всего в свойствах или в соседних элементах. Недавно сталкивался с интересной проблемой но вот беда, не как не могу вспомнить в чём была проблема. 
Помоему в том, что элемент не правильно считал от края и нужно было вставить специальный разделительный элемент или тег. Я вставил это элемент и бразуер стал отлично считать. Мб в это задаче это и не применимо, так экспромт.
Попробуйте так же посмотреть в других браузарх, вдруг это особенность конкретного браузера.