Primeiro, a sua correspondência "tasktag" não permite espaços ou outros "delimitadores de palavras", mas a sua correspondência "tarefa" exige que "done" seja uma palavra discreta devido ao seu < e \ > átomos de limite de palavra.
Em segundo lugar, sua correspondência "tarefa" é escrita para destacar apenas a palavra "Concluído".
Supondo que entendi o que você quer, modifiquei suas duas correspondências:
syn match tasktag "\(\s\)\@<=@[a-zA-Z0-9_ ]\+"
syn match taskdone "@.*\<[Dd]one\>.*" containedin=tasktag
Se você ainda não fez isso, precisará especificar o destaque das duas correspondências. Por exemplo:
highlight link tasktag TODO
highlight link taskdone Statement