This problem seems rather unrelated from **RealDomain** and assumptions, simply compare:

> solve({(1/(a-1)-1/(a+1))*(2*a^2-2)/a = 4/surd(2, 2), a <> 1, a <> -1});
1/2
{a = 2 }, {a = 1}, {a = -1}
> solve({x^2 = 1, x <> 1});
{x = -1}

Indeed, this is a regression bug. In Maple 9.52:

> solve({(1/(a-1)-1/(a+1))*(2*a^2-2)/a = 4/surd(2, 2), a <> 1, a <> -1});
1/2
{a = 2 }

Basically, the problem seems to occur at checking the inequalities, when substituting the solutions into the inequalities. In the second example it means substituting the solution x=1 into the inequality x-1<>0, producing the contradiction 0<>0 which excludes this solution, see here how it works:

> trace(SolveTools:-Substitute):
> solve({x^2 = 1, x <> 1});
{--> enter SolveTools:-Substitute, args = x = 1, x-1 <> 0
thesubs := x = 1
expr := x - 1 <> 0
<-- exit SolveTools:-Substitute (now in PolynomialSimple) = 0 <> 0}
{--> enter SolveTools:-Substitute, args = x = -1, x-1 <> 0
thesubs := x = -1
expr := x - 1 <> 0
<-- exit SolveTools:-Substitute (now in PolynomialSimple) = -2 <> 0}
{x = -1}

While in the first example a problem occurs:

> solve({(1/(a-1)-1/(a+1))*(2*a^2-2)/a = 4/surd(2, 2), a <> 1, a <> -1});
{--> enter SolveTools:-Substitute, args = t = RootOf(_Z^2-2,index = 1), {a-1 <>
0, a+1 <> 0}
2
thesubs := t = RootOf(_Z - 2, index = 1)
expr := {a - 1 <> 0, a + 1 <> 0}
<-- exit SolveTools:-Substitute (now in Polynomial) = {a-1 <> 0, a+1 <> 0}}
{--> enter SolveTools:-Substitute, args = t = -1, {a-1 <> 0, a+1 <> 0}
thesubs := t = -1
expr := {a - 1 <> 0, a + 1 <> 0}
<-- exit SolveTools:-Substitute (now in Polynomial) = {a-1 <> 0, a+1 <> 0}}
{--> enter SolveTools:-Substitute, args = t = 1, {a-1 <> 0, a+1 <> 0}
thesubs := t = 1
expr := {a - 1 <> 0, a + 1 <> 0}
<-- exit SolveTools:-Substitute (now in Polynomial) = {a-1 <> 0, a+1 <> 0}}
{--> enter SolveTools:-Substitute, args = [RootOf(_Z^2-2,index = 1) = 2^(1/2)]
, [{a = RootOf(_Z^2-2,index = 1)}, {a = -1}, {a = 1}]
2 1/2
thesubs := [RootOf(_Z - 2, index = 1) = 2 ]
2
expr := [{a = RootOf(_Z - 2, index = 1)}, {a = -1}, {a = 1}]
<-- exit SolveTools:-Substitute (now in Radicals) = [{a = 2^(1/2)}, {a = -1}, {
a = 1}]}
1/2
{a = 2 }, {a = -1}, {a = 1}

Namely, the condition is expressed in one variable, like t = 1, while the inequations are expressed in a different variable {a-1 <> 0, a+1 <> 0}. So, apparently, no substitution is made and the contradictions are not reached...