You can see this from two perspectives. First of someone who is looking for a way to communicate with Drupal and so is using the hooks and events that exist. The second one is that of a developer who designs these APIs.
Drupal is in the middle of both, on the one side Drupal is a consumer of the Symfony API, almost every piece of code is placed in Symfony events, and on the other side Drupal provides APIs, in form of legacy hooks or custom Symfony events and other methods like plugins.
You probably didn't use one of the Drupal APIs, more likely a Symfony kernel event,
KernelEvents::REQUEST. Then you are in the same position as a Drupal developer and this is not a question about hooks or events, because Symfony doesn't provide hooks.
Even if you were using one of the Drupal APIs, you wouldn't have much choice. You would have to select what is provided to you. Only if you design an API in your module to interact with other modules, then you can choose between an event or a hook.