Correct,
You make a request to Twitch to subscribe to data.
Then twitch sends you the data to the URL/EndPoint you have specified.
So yes, you need to be web accessible from the world in order to receive the webhook data sent by twitch. How you achieve that is up to you, you can open a hole in your firewall for your bot, or use a “proper” web server