Non-linear vs. exp() vs. log-linearized models

Regarding 2: you cannot take logs of variables whose steady state is 0. Hence, putting them in exp() is not possible. The same by the way applies to variables with negative steady states like e.g. the net foreign bond position of an indebted country. Usually you just leave those variables without the exp(), i.e. only linearized.
Regarding 3: Log-linearizing the model by hand only shifts the steady state computation problem to setting parameters like Cbar in your example. For those you still have to manually compute the steady state value. That is, you need the steady state of consumption as a function of the deep parameters to set Cbar before the model block. Note also that shifting the steady state computation into the parameters complicates things in estimation as you have to reset all parameters for each draw of deep parameters. This is usually more cumbersome in Dynare than providing values for endogeneous variables.

Dynare does not “understand” that c_hat means (log©-log(C_bar)) in any fundamental sense. c_hat is only a variable name that you assigned to (log©-log(C_bar)) after log-linearization. Hence, while there is no concept of “understanding” at work, c_hat actually has the interpretation as percentage deviations from steady state as you desire (if your manual log-linearization is correct).

Note also that the additive constants like Cbar can be subtracted from both sides and thus drop out.