Я упростил ваш код, потому что большая часть его не имеет никакого отношения к проблеме, а это просто очень большая продолжительность перехода.300s.Это 5 минут!Тестирование с 1с ниже.Ваш код работает нормально.
div {
display: flex;
}
div>* {
background-color: slategrey;
margin: 0 5px 0;
color: floralwhite;
padding: 5px;
}
ul {
display: flex;
flex-direction: column;
list-style: none;
margin-right: auto;
order: -1;
}
div ul li::after {
content: "";
display: flex;
height: 2px;
width: 0px;
transition: all 1s ease;
background-color: peru;
}
ul li:hover::after {
width: 40px;
background-color: orange;
}
<div>
<aside>
This is the aside
</aside>
<ul>
<li>First</li>
<li>Second</li>
<li>Third</li>
</ul>
<p>
Lorem ipsum text is pretty freaking dumb.
</p>
</div>