Ответ 1
1) и 3) правильно, 2) верно и для HttpModules, поэтому нет никакой разницы. Дело в том, что OWIN не имеет очень сложной инфраструктуры запросов ASP.NET, и она не зависит от хоста. На самом деле вы можете размещать приложения OWIN внутри другого приложения .NET, если вы этого хотите.
Насколько я понимаю, если вы идете с современной инфраструктурой, построенной на ASP.NET MVC, WebApi или такой, забудьте HttpModules. Они являются частью инфраструктуры, построенной давным-давно, и для самых разных проблем, чем те, с которыми сталкиваются современные веб-разработчики. Также обычно намного проще интегрировать различные службы в OWIN (и встроенная аутентификация OAuth и аналогичные hings весьма удобны).
Теперь, если вы все еще разрабатываете веб-приложения с использованием "старой" модели WebForms, HttpModules migth по-прежнему будет лучшим выбором - возможно размещение WebForms в OWIN (и, вероятно, хорошо работает), но преимущества исчезают. Однако, если вы хотите тонкую конечную точку HTTP, OWIN просто потрясающе; он очень легкий и простой по сравнению со старой инфраструктурой ASP.NET. Тот факт, что он не сильно привязан к IIS, - это просто вишня сверху. Лично я все еще использую его с IIS, хотя я могу определенно увидеть использование для легкого HTTP-сервера внутри другой службы. Кроме того, не забывайте, что версия IIS привязана к версии Windows. Использование всех последних функций часто требует обновления сервера в IIS.