emacs /path/to/src.tex -> C-c C-f -> ok
  buffer *tex-shell* pwd -> /path/to

emacs /path/to -> C-x d -> src.tex -> C-c C-f -> src.tex not found
(many other variations lead to similar failure)
  buffer *tex-shell* pwd -> /tmp

Problem traced to function tex-send-tex-command(...).
It does *not* change directory to location of src.tex

Remove or comment out this conditional stanza

  (unless (or (equal dir (let ((buf (tex-shell-buf-no-error)))
                           (and buf (with-current-buffer buf
                                      default-directory))))
     (not dir))
    (let (shell-dirtrack-verbose)
      (tex-send-command tex-shell-cd-command dir)))

Replace with

  (let (shell-dirtrack-verbose) (tex-send-command tex-shell-cd-command dir))

solves this error. Proper solution requires unless... to be repaired.