It seems to be a self-instruction. Leak from reasoning token into output token or using output token for reasoning. Perhaps something accidental like constraining number of reasoning tokens leads to model using output tokens for reasoning or perhaps ensuring some minimum user-visible reasoning. Seems like an accidentally introduced artifact.
“I should not pretend other implementations don’t exist. I should name them plainly.” Unable to tell itself that it puts this in output so that it can tell itself there.
Same with the “not X but Y” style. It is self-steering introspection leaking into output for one reason or the other. Recent poor language use by model is probably an attempt to minimize this by being concise. But it really needs more thinking to solve problem and so it does some of it in output.