I don't understand. The documentation clearly states: "Python searches a standard list of directories to find one which the calling user can create files in." How do you expect to be able to write files to a directory that doesn't exist?
No, it shouldn't. The design is that different systems use different locations for the default tempdir, and we look down a list of ones we know about until we find one that exists and can be used. Likewise, different shells use different environment variables, so we look at a sequence of those as well. It is arguable whether the fact that an environment variable that points to an invalid directory is ignored is a feature or a bug, but at this point tempfile has behaved that was for so long that we must class it as a feature. In any case, I would find it objectionable for a program to create a temporary directory for me unasked. It would be much more likely that I misspelled the directory when I set the environment variable.