Вот эти
#if WINDOWS
работают только во время компиляции + как вы сами убедились, дебажить их не очень удобно.
Лучше вместо них использовать
using System.Runtime.InteropServices;
// ...
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) {
// ...
}
PS: вот эту галку с Windows ставить не обязательно. По идее оно автоматически должно выставиться, если ты компилируешь под windows.
А серым может подсвечивать из-за того что VS использует какой-то другой таргет / другие флаги для анализа.