Steps to Reproduce:
These are my current user settings
{
"explorer.openEditors.visible": 0,
"workbench.activityBar.visible": false,
"editor.minimap.enabled": false,
"editor.renderWhitespace": "all",
"[php]": {
"files.eol": "\n",
"files.encoding": "utf8",
"editor.tabSize": 4,
"editor.insertSpaces": true,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true
}
}

My conclusion is that the end of line option isn't working properly when using a specific language.
This is JSON. You need to escape that backslash with another backslash:
"\\n"
Actually I'm wrong... sending it to the right person.
"files.eol" need to become a language scopable setting.
Challenge is that when the model is being created, it just gets text/plain as mode because the actual mode is a promise that can load later. Thus, configuration that relies on the proper mode to be there will not be acknowledged initially.
This seems to be a duplicate of #34876
Most helpful comment
"files.eol"need to become a language scopable setting.