답변 먼저 하면, 당연히 IOCP는 리눅스 환경에서 사용할 수 없습니다.
그리고 (현재는 어떻게 바뀌었을지는 또 체크해봐야겠지만 VC++: 124. libuv 모듈 살펴 보기 글을 쓰는 당시에는) ASP.NET Core로 빌드/배포해서 생성한 바이너리를 보면 libuv에 의존하고 있었습니다.
참고로, libuv는 플랫폼에 따라 윈도우인 경우 IOCP, 리눅스인 경우에는 (윈도우의 IOCP에 준하는) epoll을 사용합니다. 따라서, 닷넷 입장에서 보면 IOCP의 성능이 꼭 필요하다면 그냥 윈도우 서버에서 운영하면 됩니다.
그 외에, 닷넷에서 IOCP를 사용하는 것은 IO Thread를 사용하는 비동기에 한해서입니다. 관련해서는 다음의 글이 있으니 참고하세요.
C# - 닷넷에서의 진정한 비동기 호출을 가능케 하는 I/O 스레드 사용법
; .NET Framework: 919. C# - 닷넷에서의 진정한 비동기 호출을 가능케 하는 I/O 스레드 사용법