I'm still observing the behavior that pressing CTRL-C inside cmd.exe terminates the cluster that was started inside that cmd.exe.
According to the documentation for pg_ctl "The server is started in the background, and its standard input is attached to /dev/null (or nul on Windows)." but if pressing CTRL-C in a cmd.exe window terminates the cluster that was started inside that cmd.exe window, doesn't it seem like stdin is attached to the output cmd.exe and not to NUL?
ctrl-c sends an operating system signal. Signals don't use stdin/stdout/etc... to communicate