Acredito que a segunda seja mais eficiente, pois requer apenas um select, mas para ter certeza, você deve EXPLICAR cada consulta e verificar os resultados.
EXPLAIN select tasks.*
from tasks
where
some criteria
and task.project_id not in (select id from project where project.is_template = 1);
EXPLAIN select tasks.*
from tasks, project
where
some criteria
and task.project_id = project.id and project.is_template <> 1;