unicode-math replaces \not by the number "6"

If a suitable unicode char exists for a combination \not + unicode symbol you can add the needed declarations and they will work like the combination of \not + command. But imho there is no \not\approxeq, so here one needs a fallback like a combination with a solidus. You get a 6 in this case as there seem to be a bug in unicode-math: it looses the definition of \not from unicode-math-tables. This seems to be a work around (but imho doesn't looks perfect).

\documentclass{article}

\usepackage{fontspec}
\usepackage{amsmath,amssymb}

\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\ExplSyntaxOn
\cs_gset:cpn { not≤ }    { \nleq }
\cs_gset:cpn { not≲ }    { \not\lesssim }
%Fallback bug correction:
\__um_sym:nnn {"00338}{\__um_oldnot:                     }{\mathaccent}
\ExplSyntaxOff

\begin{document}
With \LaTeX{} commands:
\begin{gather*}
  A \not= B\\
  A \not\le B\\
  A \not\lesssim B\\
  A \not\approxeq B
\end{gather*}

With Unicode characters:

\begin{gather*}
  A \not= B\\
  A \not≤ B\\
  A \not≲ B\\
  A \not≊ B
\end{gather*}
\end{document}

enter image description here

Edit

One get a better "fallback" \not if one uses the overlay keyword. This works only with lualatex: As an example here for for your \approxeq:

\documentclass{article}

\usepackage{fontspec}
\usepackage{amsmath,amssymb}

\usepackage{unicode-math}

%\setmathfont{Cambria Math}

\newcommand\napproxeq{\Umathaccent overlay fixed  7\symoperators "00338 \approxeq}

\begin{document}
$A \napproxeq B $

$A \not\approxeq C $

\end{document}

enter image description here

I will add this to the issue tracker for unicode math.


Locally redefine \not as a stack.

\documentclass{article}

\usepackage{fontspec}
\usepackage{amsmath,amssymb}
\usepackage{unicode-math}
\usepackage{stackengine}
\AtBeginDocument{\renewcommand\not[1]{%
  \mathrel{\ensurestackMath{\stackengine{0pt}{#1}{\mkern1mu/}{O}{c}{F}{T}{L}}}}%
}

\begin{document}
With \LaTeX{} commands:
\begin{gather*}
  A \not= B\\
  A \not\le B\\
  A \not\lesssim B\\
  A \not\approxeq B
\end{gather*}

With Unicode characters:

\begin{gather*}
  A \not= B\\
  A \not≤ B\\
  A \not≲ B\\
  A \not≊ B
\end{gather*}
\end{document}

enter image description here

For comparison, here is the original unrepaired code.

enter image description here