Here is the terminal log from 12.1.0, where everything is correct:
$ math12
Mathematica 12.1.0 Kernel for Linux x86 (64-bit)
Copyright 1988-2020 Wolfram Research, Inc.
In[1]:= $Assumptions = Element[x,Reals]
Out[1]= x \[Element] Reals
In[2]:= a=Exp[x]
x
Out[2]= E
In[3]:= D[a*Conjugate[a],x] // ComplexExpand // Simplify
2 x
Out[3]= 2 E
and here is the log from 12.3.0 which shows the problem:
$ math
Mathematica 12.3.0 Kernel for Linux x86 (64-bit)
Copyright 1988-2021 Wolfram Research, Inc.
In[1]:= $Assumptions = Element[x,Reals]
Out[1]= x \[Element] Reals
In[2]:= a=Exp[x]
x
Out[2]= E
In[3]:= D[a*Conjugate[a],x] // ComplexExpand // Simplify
2 x
Out[3]= E (1 + I Im[Conjugate'[x]] + Re[Conjugate'[x]])
In[4]:= D[a*Conjugate[a],x] // ComplexExpand[#, TargetFunctions->Conjugate] & // Simplify
2 x
Out[4]= E (1 + Conjugate'[x])
Of course, if I did "ComplexExpand" and "Simplify" prior to differentiation, then it would work in 12.3.0 also, but this is clearly a bug, i.e. differentiation should be aware of the assumption that 'x' is real-valued. And in 12.1.0 it was aware, as the log above shows.