So to be clear, housing_project_from_unit was not restored at all unless you manually changed the search_path or did Postgres throw an error at restore it at a later point?
I believe housing_project_from_unit (function) was created. tbl_unit_absence was created, and the error was caused when it tried to populate tbl_unit_absence, because it had the constraint using housing_project_from_unit(). That function couldn't find tbl_housing_project, because it was in the public schema, which was not in the search path at that point.
I didn't actually try it, but it's a plain SQL dump, and there were no attempts to populate tbl_unit_absence further on in the file.