I understand that Gödel's first incompleteness theorem applies to ZFC as a first-order theory. One can construct a sentence $G_F$ such that $ZFC \nvdash G_F$ and $ZFC \nvdash \neg G_F$.
However, Gödel's first incompleteness theorem itself is a theorem in ZFC. Additionally, in the meta-proof, we also show that $G_F$ is true under the standard model.
So, my question is: why can't the sentence (or its negation) be proven within the system (which is ZFC), but outside the system (which is still ZFC), it can be shown that the sentence is true?
I can think of two possible reasons: The first reason is that the meta-language and the object language are different. In other words, the meta-proof cannot be fully formalized (which seems incorrect to me). The second is that the meta-language has more 'information' than the object language, such as knowing how $G_F$ was constructed.
I would greatly appreciate any clarification.