transfer function and 'causal' signal - evaluate transfer function or use z-transform of input?
For a discrete-time LTI system with transfer function $H(z)$, the response to $x[n]=z_1^n$ equals $y[n]=H(z_1)z_1^n$ if $z_1$ is inside the region of convergence of $H(z)$. This relationship holds whether or not the system is causal or stable.

From this relationship it follows that if the system is real-valued and stable, i.e., if its impulse response is real-valued and if $H(e^{j\omega})=|H(e^{j\omega})|e^{j\phi(\omega)}$ exists, the response to a sinusoidal input $x[n]=\cos(n\omega_0)$ is given by $y[n]=|H(e^{j\omega_0})|\cos[n\omega_0+\phi(\omega_0)]$.

I think your confusion comes from assuming something you call a "causal context". It doesn't matter if a system is causal or not for above relationships to hold. You can apply a sinusoidal input signal to a causal system, and as long as the system is real-valued and stable, the output will be given by the relationship mentioned above. If the input is a sinusoid switched on at a finite $n=n_0$, the system's response can be computed by solving the convolution sum or, equivalently, by using the $\mathcal{Z}$-transform.