By default commands like \gls (when used with hyperref) essentially do:
\hyperlink{target}{\glstextformat{text}}
As noted, this works fine for the PDF engine but not with the DVI engine.
The extension package, glossaries-extra, now (as from version 1.21, 2017-11-03) provides a boolean key hyperoutside. The default hyperoutside=true behaves as per the norm for the base glossaries package:
\hyperlink{target}{\glstextformat{text}}
The setting hyperoutside=false, switches the commands around:
\glstextformat{\hyperlink{target}{text}}
Since it's a bit of a nuisance to have to do \gls[hyperoutside=false]{productOrder} all the time, the category attribute hyperoutside can be set instead.
The extension package provides an additional key category that can be used when defining entries. The value is just a label, so you could define your productOrder entry as:
\newglossaryentry{productOrder}{
category=mathrelation,
name={product order},
text={\sqsubseteq}, sort=productOrder, description={foo}}
The mathrelation category can then have the hyperoutside attribute set to false:
\glssetcategoryattribute{mathrelation}{hyperoutside}{false}
This means that \gls{productOrder} will now behave like \gls[hyperoutside=false]{productOrder}, but it won't affect any other entries that you define (unless they also have category=mathrelation).
Now that \glstextformat is outside of \hyperlink it could be redefined to \mathrel:
\renewcommand{\glstextformat}[1]{\mathrel{#1}}
but that will cause a problem for all your other entries.
This new version of glossaries-extra also recognises another attribute textformat which may be set to a control sequence name (without the leading backslash) identifying a command (that takes a single argument) that may be used instead of \glstextformat:
\glssetcategoryattribute{mathrelation}{textformat}{mathrel}
This means that instead of doing
\glstextformat{\hyperlink{target}{text}}
any entry defined with category=mathrelation will do:
\mathrel{\hyperlink{target}{text}}
All other entries will behave as normal.
Here's a complete example including hyperoutside=true for comparison and colorlinks to highlight the hyperlinks:
\documentclass{article}
\usepackage[colorlinks]{hyperref}
\usepackage{glossaries-extra}
\glssetcategoryattribute{mathrelation}{hyperoutside}{false}
\glssetcategoryattribute{mathrelation}{textformat}{mathrel}
\newglossaryentry{productOrder}{
category=mathrelation,
name={product order},
text={\sqsubseteq}, sort=productOrder, description={foo}}
\begin{document}
\noindent
\(A \sqsubseteq B\)\\
\(A \gls{productOrder} B\)\\
\(A \gls[hyperoutside]{productOrder} B\)
\end{document}

For the negation, I recommend defining a command that moves the \not inside the link text:
\newcommand*{\notgls}[2][]{\glsdisp[#1]{#2}{\not\glsentrytext{#2}}}
Updated MWE:
\documentclass{article}
\usepackage[colorlinks]{hyperref}
\usepackage{glossaries-extra}
\glssetcategoryattribute{mathrelation}{hyperoutside}{false}
\glssetcategoryattribute{mathrelation}{textformat}{mathrel}
\newglossaryentry{productOrder}{
category=mathrelation,
name={product order},
text={\sqsubseteq}, sort=productOrder, description={foo}}
\newcommand*{\notgls}[2][]{\glsdisp[#1]{#2}{\not\glsentrytext{#2}}}
\begin{document}
\noindent
\(A \sqsubseteq B\)\\
\(A \gls{productOrder} B\)\\
\(A \not\gls{productOrder} B\)\\
\(A \notgls{productOrder} B\)
\end{document}

\hyperlink{glo:productOrder}{\sqsubseteq}which is what\gls{productOrder}is doing, so this seems to be a feature of\hyperlinkwithlatex+dvipsrather than a problem withglossaries. (Sorry about the bug tracker not working. The stupid web hosting company decided to remove a load of Perl modules without notice, and without the ability to reinstall them, so all my Perl cgi scripts have stopped working. I'm currently looking for a new web hosting company.) – Nicola Talbot Nov 02 '17 at 18:10\newglossaryentryrather than a hack into\hyperlink(if you are passing by that code again one day:-) – David Carlisle Nov 02 '17 at 21:54glossaries-extrawill have the ability to switch from the default\hyperlink{target}{\glstextformat{link text}}to\glstextformat{\hyperlink{target}{link text}}. I'll add an answer once I've uploaded it (but there are a few other things that also need sorting out first). – Nicola Talbot Nov 02 '17 at 22:07hyperreftag, but you could submit a bug report. The simplest MWE that demonstrates the problem is\documentclass{article} \usepackage{hyperref} \begin{document} \hypertarget{target}{Target} $A \sqsubseteq B$ $A \hyperlink{target}{\sqsubseteq} B$ \end{document}It may turn out to be a feature of the dvi engine ashyperrefin general works much better with pdflatex. – Nicola Talbot Nov 03 '17 at 10:58