Mano basicamente é porque o teu "description" ele é filho de uma ol > li, então fazendo uns testes aqui eu percebi que quando clica no numero da lista, ele faz a função, mas quando clica no texto não, é porque na logica do teuu js ta assim
e.target.querySelector('.description').style.display = "none"
então tipo toda vez que clicar em um elemento em que ele tenha o FILHO com a classe ".description" é que ele vai aplicar o if else(inclusive corrige teu if else porque ele como atribuição o correto seria comparação como esse abaixo:).
e.target.querySelector('.description').style.display == "none"
resumindo, como o teu .description não é filho de nenhuma tag 'p', 'hr' então quando clica no titulo ou no "+detalhes" ele executa o if else mas não aplica em nada entende?
Fiz um codigo que rodou usando ParentNode. O Atributo "parentNode" faz referencia a um elemento pai no DOM, no caso eu usei ele duas vezes porque ha casos em que o "Target" esta muito abaixo na camada do DOM. Acredito que essa não seja a melhor forma de resolver tal problema mas no momento resolve sua situação, faça os testes e diga se rodou por ai
Segue abaixo o código que funcionou para o seu caso:
fetch('https://api.themoviedb.org/3/movie/popular?api_key=307f3bce2cf2642bb1caa0463410a0de&language=en-US&page=1', {
method: 'GET'
})
.then(response => response.json())
.then(function (json) {
let container = document.querySelector('.container');
let i = 1;
json.results.map(function (value, i) {
container.innerHTML += `
<div class="item"><ol start="${i + 1}"><li> <p class="title"> <div class="details" style="cursor:pointer;">` + value.title + `<p class="more">+ detalhes</p>
</div> <hr> <div class="description" style="display:none;" >` + value.overview + `</div> </hr> </p> </li> </ol></div>`;
});
let titles = document.querySelectorAll('.item');
for (let j = 0; j < titles.length; j++) {
titles[j].addEventListener('click', function (e) {
if (e.target.parentNode.parentNode.querySelector('.description').style.display == "none") {
e.target.parentNode.parentNode.querySelector('.description').style.display = "block";
} else {
e.target.parentNode.parentNode.querySelector('.description').style.display = "none";
}
});
}
});