Desired vs achieved pitch will not tell much of a story regarding CG, but elevator command may be an indicator.
You can see here that the elevator command centers around a positive pre-mix value, which I think indicates that the elevator is almost constantly commanded slightly up.
That alone does not necessarily mean that you have a CG problem, but it would account for the “nose heavy” feel you described. It seems to me that either you have an elevator trim mismatch or a CG issue. Perhaps a more astute log reviewer could determine which is truly the problem.
Additionally, your achieved pitch value seems to “hang out” below the desired value, indicating that an increase in the pitch I term is likely warranted. However, you probably ought to address the “nose heavy” root cause before further tuning.
I’ll leave any specific value recommendations to someone more well versed in ArduPlane.