Oii, Daniela! Tudo bom?
Quando se aplica o filtro dados[linhas_invalidas, ], é selecionado linhas inteiras que contêm pelo menos um valor NA. Isso significa que uma linha pode ter várias células com NA, mas ainda assim será contada como uma única linha com dados faltantes.
Para contar quantas linhas têm pelo menos um NA, use sum(linhas_invalidas), que lhe dará o número de linhas com dados faltantes:
Para contar as strings vazias use sum(dados == "", na.rm = TRUE):

E para contar ambos (zeros e NA), pode combinar as condições, sum(is.na(dados)) + sum(dados == 0, na.rm = TRUE) + sum(dados == "", na.rm = TRUE):

Deixo aqui o notebook usado para teste, está com o título Teste Dani.
Espero ter sanado a sua dúvida, conte sempre com a gente aqui no fórum.
Bons estudos, Daniela!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado!