According to the documentation:
default-directory is a variable defined in ‘C source code’. Its value is "~/" Local in buffer *scratch*; global value is nil
Automatically becomes permanently buffer-local when set. This variable is safe as a file local variable if its value satisfies the predicate 'stringp'.
Documentation: Name of default directory of current buffer. To interactively change the default directory, use command ‘cd’.
So, the default-directory variable, is the "current" directory, for the current buffer. And visiting any file or any directory, changes the default-directory for that buffer.
EDIT
You can achieve what you want by:
adding (cd "/some/dir/") in yout init file.
using a hook: (add-hook 'find-file-hook #'(lambda () (setq default-directory (expand-file-name "/some/dir/"))))
writing a custom function that will (cd "/some/dir/") before finding file.