differential equations – (Possibly bugs? ) Wrong results provided by `DEigensystem`

I was trying DEigensystem with the following code:

DEigensystem({-u''(x) + x u'(x), DirichletCondition(u(x) == 0, True)},u(x), {x, 0, 1}, 2)

And after a period of time of calculation, it returns the following results:enter image description here

It surprised me that the first eigen value is a complex Root expression while the second one is a simple integer 10, however after a while I realized that the second solution was actually zero:enter image description here
So 10 should not be the eigen value of this operator. The plot of the following code shows that every even integer is the solution of u(1)==0 with boundary condition u(0)==0

Plot(Log@RealAbs(DSolveValue({-u''(x) + x u'(x) - (Lambda) u(x) == 0, u(0) == 0}, u(x), x) /. {C(_) :> 1, x :> 1} // Evaluate), {(Lambda), 0, 15})

enter image description here

However, when (Lambda) equals to even numbers, the general solution is actually zero, and the special solution is not zero at point x==1:

Limit(DSolveValue({-u''(x) + x u'(x) - (Lambda) u(x) == 0, u(0) == 0}, u(x), x) /. {C(_) :> 1}, (Lambda) -> 10) // Simplify

(*0*)

DSolveValue({-u''(x) + x u'(x) - (Lambda) u(x) == 0, u(0) == 0} /. (Lambda) -> 10, u(x), ) /. {C(_) :> 1} // Simplify

(*(-2 E^(x^2/2) x (2895 - 2640 x^2 + 588 x^4 - 44 x^6 + x^8) + 
 Sqrt(2 (Pi)) (-945 + 4725 x^2 - 3150 x^4 + 630 x^6 - 45 x^8 + x^10) Erfi(x/Sqrt(2)))/7257600*)

% /. x -> 1

(*(-1600 Sqrt(E) + 1216 Sqrt(2 (Pi)) Erfi(1/Sqrt(2)))/7257600*)

So my question is: How to get the right DEigensystem result of the operator above automatically? By the way, all of the codes give the same result in version 12.1, 12.2 and 12.3.