반갑습니다.
ASP.NET Core를 IIS ANCM (Windows Server의 IIS 위에 ASP.NET Core Module을 붙여 연결하는 형태)으로 띄우거나, Windows NT 서비스로 띄우는 것처럼 애플리케이션 타입이 아예 달라지는 경우를 제외하면, ASP.NET Core이든, 일반 콘솔 애플리케이션에서 출발하든 아무런 차이는 없습니다.
말씀하신 2번은 1번에 Kestrel이라는 ASP.NET Core의 독자 웹 서버 구현체를 사용하는 정도의 차이일 뿐입니다. 그래서 1번에서 시작해서 ASP.NET Core 프로젝트로 변형하는 것도 충분히 가능합니다.
그리고 C++ 사용 경험이 있으시다고하니, 만약에 런타임 수준에서 커스터마이징을 희망하신다면 .NET Framework나 .NET Core 런타임을 C/C++ 애플리케이션에서 호스팅하는 옵션도 관심있으시다면 한 번 둘러보시는 것도 추천드립니다. 이렇게 시작하면 복잡도가 많이 올라가지만, 커스터마이징 폭이 더 넓어져서 .NET 런타임을 좀 더 정밀하게 제어할 수도 있을 것입니다.
애플리케이션 레벨에서는 System.Runtime.InteropServices 아래의 여러 유틸리티 클래스들이 네이티브 코드와 연동될 수 있게 도와주는 수단들을 제공하고, C#에서는 unsafe 코드를 이용해서 포인터를 다룰 수 있으므로 네이티브 코드에서 할당한 메모리 블록을 메모리 레이아웃만 잘 맞추신다면 정밀하게 제어하는 것도 생각할 수 있습니다.
참고로 이 커뮤니티 웹 사이트는 Discourse라는 오픈 소스 포럼 소프트웨어를 사용합니다. Ruby on Rails로 만들어져 있으며, 닷넷재단 (.NET Foundation)의 포럼 사이트를 포함해서 해외의 많은 포럼 사이트들이 사용하는 검증된 소프트웨어이기도 합니다.