No código criado, o dataset não está armazenando o nome do arquivo da imagem baixado. Teríamos uma imagem não rotulada. Acredito que o dataset seria bem mais completo agregando esta informação, como:
# Imagens
image = anuncio.find('div', {'class': 'image-card'}).img
nomeImagem = image.get('src').split('/')[-1]
urlretrieve(image.get('src'), './output/img/' + nomeImagem)
card['imagem'] = nomeImagem
# Adicionando resultado a lista cards
cards.append(card)
(assumindo que não há nomes de arquivos de imagens repetidos)