WHERE clause post join filter if if c is MISSING c.type = “c” is false.
Try this.
SELECT *
FROM default AS a
LEFT JOIN default AS b ON KEY b.a FOR a
LEFT JOIN default AS c ON KEY c.b FOR b
WHERE a.type = "a"
AND b.type = "b"
AND (c IS MISSING OR c.type = "c");
Also checkout