я просто хочу понять, как можно написать код целого огромного сайта, который не работает с кнопкой «назад» нормально
Элементарно. Ты юзаешь one-way binding, а у тебя есть history api, который на такую архитектуру ложится очень плохо (урл в адресной строке это стейт, не управляемый никаким компонентом)