Votre clause where convertit la jointure externe en une jointure interne.
Les lignes non correspondantes conservées par la outer join auront tous NULL valeurs pour documentation.status donc votre documentation.status != 3 condition les filtrera (Le résultat de l'expression NULL !=3 est unknown pas true ).
Pour éviter ce problème, utilisez
select documentation_reference.ref_docnumber,
documentation.filename
from documentation_reference
left outer join documentation
on ref_docnumber = documentation.docnumber
and documentation.status != 3
where documentation_reference.docnumber = 'TP-036'
Notez que le documentation.status != 3 le prédicat est déplacé dans le JOIN état.