EDITED to better address OP's question: Based on the growth rates and structure of the individual functions, the answer can change, and change infinitely often. If $f$ grows rapidly enough and much faster than $g$, then $f(g(x))$ will grow more rapidly than $g(f(x))$. OP gives the example where $f(x)=x^{x^{\ldots^x}}$ with a power tower of height $\lceil x\rceil$ and $g(x)=e^x$. In this case, $f(g(x))$ grows faster than $g(f(x))$. Here is a somewhat more general way to construct examples.
Examples where $f(g(x))$ grows faster than $g(f(x))$.
Suppose $g: [0,\infty)\to [0,\infty)$ is any continuous strictly increasing function such that $g(x)>x$ for $x\geq 0$. We can define the function $f(x)$ using the following formula: $f(g(x))=xg(f(x))^{x}$. Since $g$ is continuous and strictly increasing, $f$ is a well defined function $f:[g(0),\infty)\to [f(g(0)),\infty)$. By definition, $f(g(x))$ grows much faster asymptotically than $g(f(x))$.
Remark: $f$ can be defined recursively on $[0,\infty)$. Initially, let $f(x)=1$ for $x\in [0,g(0))$. For $y\in [g(0),g(g(0)))$, let $x\in [0,g(0))$ be the unique real number such that $g(x)=y$. Define $f(y)=xg(f(x))^x$. Thus, $f(g(x))=x g(f(x))^x$. This procedure can be continued recursively on the intervals $[g^{n}(0),g^{n+1}(0))$ for $n\geq 1$ until $f$ is defined on $[0,\infty)$ and satisfies the formula.
Examples where $g(f(x))$ grows faster than $f(g(x))$.
We can also give a procedure for defining arbitrarily fast growing functions $g$ and $f$ such that $g(f(x))$ grows faster than $f(g(x))$.
Suppose $g(x)$ grows at least exponentially or in particular satisfies the property that $g(xc)\geq \big(g(c)\big)^x$ for $c,x\geq 1$. Also, assume $g(1)>1$. In this case, $g(x)>x$ for $x\geq 1$. If $f(x)=xg(x)$, the function $g(f(x))$ grows more rapidly than $f(g(x))$. This will be true for the case where $f$ is an increasing power tower of $x$'s.
Proof: Note, $f(g(x))=g(x)g(g(x))$ and $g(f(x))=g(xg(x))$. Thus, for sufficiently large $x$, $$\ln{f(g(x))}=\ln{g(x)}+\ln{g(g(x))}\leq 2\ln{g(g(x))}\leq x\ln{g(g(x))}$$ $$=\ln{g(g(x))^x}\leq \ln{g(xg(x))}=\ln{g(f(x))}.$$ Since $\lim_{x\to \infty} \frac{x\ln{g(g(x))}}{2\ln{g(g(x))}}=\infty$, then $g(f(x))$ grows asymptotically faster than $f(g(x))$.
Below are some more preliminary cases.
- If $f(x)$ and $g(x)$ have polynomial growth, then the rates are comparable for $f(g(x))$ and $g(f(x))$. In particular, if both functions are linear, then they commute $f\circ g=g\circ f$. Also, if $f(x)=x^m$ and $g(x)=x^n$, they commute. In general, if $f$ and $g$ are polynomials, whether $f(g(x))$ grows faster or $g(f(x))$ grows faster, depends on the leading coefficient. If $f(x)=ax^m$ and $g(x)=bx^n$ for $m,n>1$, then $f(g(x))$ grows faster, if $b > a^{\frac{n-1}{m-1}}$. If $b < a^{\frac{n-1}{m-1}}$, $g(f(x))$ grows faster. For example, if $f(x)=2x^3$ and $g(x)=x^2$, then $f(g(x))=2x^6<g(f(x))=4x^6$ for $x\geq 1$, despite that $\lim_{x\to \infty} \frac{f(x)}{g(x)}\to \infty$.
- If $f(x)$ has an exponential rate and $g(x)$ has a polynomial rate, then $f(g(x))$ grows faster than $g(f(x))$. Suppose $f(x)=\lambda^x$ for $\lambda>1$ and $g(x)=bx^n$. Then $f(g(x))=\lambda^{bx^n}>b\lambda^{nx}=g(f(x))$ for sufficiently large $x$.
- The situation flips when both functions have an exponential rate. In this case $g(f(x))$ grows faster than $f(g(x))$. Suppose $f(x)=\lambda^x$ and $g(x)=\beta^x$ where $\lambda>\beta>1$. Then $f(g(x))=\lambda^{\beta^x}$ and $g(f(x))=\beta^{\lambda^x}$. Take the logarithm of both sides, and we get for sufficiently large $x$, $$\ln{(f(g(x)))}=\beta^x \ln{\lambda}<\lambda^x \ln{\beta}=\ln{(g(f(x)))}.$$ Also, $\lim_{x\to \infty}\frac{f(g(x))}{g(f(x))}=0$.
- (added this case after comment) Suppose $f(x)=x^{x^x}$ and $g(x)=e^x$. Then $$f(g(x))={(e^x)}^{{(e^x)}^{(e^x)}}.$$ The function $g(f(x))=e^{x^{x^x}}$. Take the natural logarithm of both sides. $$\ln{f(g(x))}={(e^x)}^{(e^x)}\ln{(e^x)}=x {(e^x)}^{(e^x)}.$$ $$\ln{g(f(x))}=\ln{e^{x^{x^x}}}=x^{x^x}\ln{e}=x^{x^x}.$$ Note, $\ln{g(f(x))}=x^{x^x}$ grows faster, since there is a tower of 3 $x$'s. If we take the logarithm again, then it becomes clearer that $\ln{\ln{g(f(x))}}$ grows faster than $\ln{\ln{f(g(x))}}$. $$\ln{\ln{g(f(x))}}=x^x\ln{x}=x^{x-1}x\ln{x}>>\ln{x}+e(e^{x-1})x=\ln{x}+xe^x=\ln{(x(e^x)^{e^x})}=\ln{\ln{f(g(x))}}.$$