Acredito que, caso a lista de vídeos retorne vazia na busca pelo assunto desejado, não há a necessidade de executar o forEach, visto que nada mudará. Portanto, ao meu ver, primerio deve-se realizar a verificação, para só então, somente caso a lista contenha algum item, executar o método para adicioná-lo. Aqui está a minha sugestão de código:
// async function buscarVideo
// (...)
if (busca.length) {
busca.forEach(item => $lista.appendChild(
constroiCard(
item.titulo,
item.descricao,
item.url,
item.imagem
)
));
} else {
$lista.innerHTML = `<h2 class="mensagem__titulo">Nenhum vídeo com "${termoDeBusca}" encontrado :(</h2>`;
}