Well, it returns true for directories as well (and also devices etc, although the docstring hints otherwise). So it's not the right thing to use before an open anyway (Stdio.is_file would be more appropriate, although I usually just try to open it right away and look at errno() instead).
The semantic I think makes sense is that it returns true for anything that exists in any way. E.g. if you do get_dir then Stdio.exist would return true for all its entries.