Replace \ with \\ doesn't work for specific variable

The problem does indeed originate with \t but it happens during deserialisation and not with the Path as you might believe. There have been multiple suggestions to replace the backslash with an escaped backslash, but at that point the damage was already done:

The C:\test had become C: est (whitespace is a tab char).

As per your requirement, altering the input file is not an option, so you have to do your escaping before deserialisation. The simplest way I can think of is:

json = json.Replace(@"\", @"\\");

By the way, while Regex.Replace is quite powerfull, string.Replace is adequate.

It doesn't look like you have large JSON files, but if you do, read a bit here on string.Replace on large files.