The custom variables defined by major and minor modes are all available for setting within dir-locals. You could set lsp-purescript-use-npx to nil like so:
Line 1 ((...
As @phils suggested you should be able to run M-x add-dir-local-variable. You will be prompted for a mode, and you could type/select lsp-mode (I am guessing that is the mode name). Then, you will be prompted for a variable, and you could type/select lsp-purescript-use-npx. Finally, you should be prompted for the value. Depending on your setup, you may or may ...
(package-initialize) must appear before (custom-set-variables …) in the initialisation file.
The next major release of GNU Emacs, version 27, will initialise packages before loading the init file, so this will no-longer be an issue.
This is a feature of global minor modes.
define-minor-mode declares a default custom1 :set value for the mode variable like so:
(unless set (setq set '(:set #'custom-set-minor-mode)))
That function is:
(defun custom-set-minor-mode (variable value)
":set function for minor mode variables.
Normally, this sets the default value of VARIABLE to nil if VALUE