The completion script will not walk up the tree in the same way that task itself does.
For example (in zsh, with completion script loaded)
task -i
task <tab>default # completes to default
mkdir tmp
cd tmp
task <tab> # no completion
I'm not an expert in completion scripts, but walking up the tree doesn't seem that expensive.