Расширение Chrome не имеет возможности * прослушивать сетевые соединения, по крайней мере, произвольные.
* Возможное исключение здесь - WebRTC, но это не очень полезно для проксирования стандартного HTTP.
Собственный обмен сообщениями - это действительно способ обойти ограничения API, делая все, что угодно, в собственном сопутствующем приложении, которое взаимодействует с расширением через STDIO.
[Extension] <-- STDIO --> [Native host] <-- anything, eg. HTTP --> [Client]
Обратите внимание, что это не произвольный STDIO, а конкретный протокол собственного хоста на основе JSON.
Также обратите внимание, что расширение должно порождать новую копию приложения собственного хоста;он не может подключиться к уже запущенному.