Details on beef color changes can be found here.
Briefly:
- When beef is first cut (or ground or whatever), it has a purplish hue, caused by deoxymyoglobin, a pigment that can only exist in the absence of oxygen.
- When exposed to oxygen, a chemical reaction occurs, producing oxymyoglobin, which leads to the bright cherry red color most people associate with "fresh meat."
- Eventually, the molecule oxydizes, producing metmyoglobin, which can no longer bind oxygen -- and this turns the meat brown. (There are natural enzymes present which can convert back to oxymyoglobin when in the presence of sufficient oxygen, though these will eventually be depleted. Packaging can preserve the strong oxygen-rich environment for longer, which is why grocery store meat stays bright red on the surface.)
- When meat is cooked, the globin denatures and forms a tan/gray hemichrome pigment which can no longer convert back to the other myoglobin pigments.
Anyhow, this is all a preface to explain that certain chemical additives will change the chemistry here, pushing the reactions to move to or away from certain pigment states.
The primary one that you mentioned is salt. As discussed in the linked article:
If salt has been incorporated into patties or is present in the case
of enhanced steaks, salt decreases metmyoglobin reducing activity
allowing more MMb to accumulate [i.e., turning brown]. . . . In addition, salt promotes
heat denaturation, or breakdown, of myoglobin [i.e., turning tan or gray].
Basically, salt causes the pigmentation molecules to convert faster to states resembling old or cooked meat, causing the color change you see.