The conjecture fails for $n=8128$, which can be verified in matter of seconds as explained below. I used PARI/GP for my verification.
First, since the conjecture concerns only values of at $x$'s being all ones, there is no need to compute explicitly $\hat\phi(n)$ but only its evaluation $f_n:=\hat\phi(n)(1,1,\dots,1)$.
Clearly, we have $f_1=\{1\}$ and for $n>1$, $f_n=\{1\}$ if $\sigma^{-1}(n)=\emptyset$, otherwise $$f_n = \bigcup_{m\in\sigma^{-1}(n)} \left(\sum_{d|m} f_d\right).$$
Second, to verify the conjecture for $n=8128$, we need to compute $f_{16256}$ -- let's round the index bound to $20000$. Since we will need to quickly get values for $\sigma^{-1}(x)$ for $x\leq 20000$, it's better to get them precomputed in vector is
(although for larger values one also can use my invsigma() routine):
is = vector(20000,i,[]); for(i=1,#is, s=sigma(i); if(s<=#is,is[s]=concat(is[s],[i])) );
Third, we will need function sumset(S)
that computes the sum of sets given as elements of the vector $S$:
setsum(S) = if(#S==0,return([])); my(r=S[1]); for(i=2,#S, r=Set(concat( apply(z->apply(t->t+z,S[i]),r) )) ); r;
Finally, we are ready to compute $f_n$ for $n\leq 20000$ storing them in a vector, and print the exponents (i.e. $q$) of all $y+2$ that are powers of $2$ for $y\in f_{2n}$ when $n$ is a perfect number:
f=vector(20000); f[1]=[1]; for(n=2,#f, r=is[n]; f[n]=if(!r,[1],Set(concat(apply(t->setsum(apply(z->f[z],divisors(t))),r)))); if(n%2==0 && sigma(n/2)==n, print(n/2," ",apply(t->valuation(t+2,2),select(t->t+2==1<<valuation(t+2,2),f[n]))) ) );
This code prints:
6 [2, 3]
28 [5]
496 [2, 7, 8]
8128 [7, 8, 9, 10, 11]
So, we see that while Mersenne exponents 3, 5, 7 do appear in $f_{2n}$$y+2=2^q$ for some $y\in f_{2n}$ for $n=6, 28, 496$, respectively, the next exponent $13$ isdoes not inarise this way from $f_{16256}$.