Olá Caroline! Tudo ok contigo?
Você está correta e seu entendimento do código está no caminho certo.
No código:
const localStorageTarefas = localStorage.getItem('tarefas')
let tarefas = localStorageTarefas ? JSON.parse(localStorageTarefas) : []
A variável tarefas será uma array vazia ([]) se não houver nada no LocalStorage na chave 'tarefas'. Isto é, se localStorage.getItem('tarefas') retornar null ou undefined, a expressão localStorageTarefas ? JSON.parse(localStorageTarefas) : [] retornará [], que é uma array vazia.
A confusão pode ter surgido devido à frase "a nossa variável, receberá uma string vazia." no material. Isso parece ser um equívoco. A variável tarefas receberá uma array vazia, não uma string vazia, se não houver nada no LocalStorage na chave 'tarefas'.
Devido à um pequeno engano o instrutor pode ter falado string, mas é array mesmo, obrigado por levantar essa questão.
Espero ter esclarecido sua dúvida! Continue com seu ótimo trabalho e bons estudos!