See my following testing:
In[52]:= E12 = Exp[2 Pi I/12]; (*12th root of unity*)
(2 + Sqrt[3])/648 == -1/324*E12^4 - 1/648*E12^7 - 1/324*E12^8 +
1/648*E12^11 // FullSimplify
Out[53]= True
In[65]:=
eq = (2 + Sqrt[3])/648 == -1/324*x^4 - 1/648*x^7 - 1/324*x^8 +
1/648*x^11;
sol = Solve[eq, x];
Select[sol, (# // Values // RootOfUnityQ // First ) == True &]
Out[67]= {{x -> 1/2 (-I + Sqrt[3])}, {x -> 1/2 (I + Sqrt[3])}}
Then, I aim to determine the n-th root of the unity-based decomposition of the aforementioned expression. However, despite my efforts as described below, I am still unable to find any feasible solution:
In[68]:= eq = (2 + Sqrt[3])/648 == Sum[a[i] x^i, {i, 0, 11}] ;
solutions = Solve[eq, Array[a, 12, 0]]
During evaluation of In[68]:= Solve::svars: Equations may not give solutions for all "solve" variables.
Out[69]= {{a[11] -> -((-2 - Sqrt[3])/(648 x^11)) - a[0]/x^11 - a[1]/
x^10 - a[2]/x^9 - a[3]/x^8 - a[4]/x^7 - a[5]/x^6 - a[6]/x^5 -
a[7]/x^4 - a[8]/x^3 - a[9]/x^2 - a[10]/x}}