I think the key thing here is whether you are overriding the default Cashier webhook handling or not. If you are doing it all yourself, then yes, you handle all the logic yourself. You handle updating all the models and grabbing what you want out of the event payload.
My reading is that Cashier will handle all the common Paddle event's automatically, but if you specify your own webhook handler URL in .env, then Cashier's default logic isn't going to run, because that's how you would override the default Cashier behavior. Or at least I think that's what the documentation is saying:
https://laravel.com/docs/11.x/cashier-paddle#defining-webhook-event-handlers
From the documentation:
You can also override the default, built-in webhook route by defining the CASHIER_WEBHOOK environment variable in your application's .env file.
So you see, as far as I can tell, you might be overriding it and so not getting the default behavior.
If you leave out this CASHIER_WEBHOOK and just use the listener, then you should get the default behavior and be able to handle other events by listening as you are doing in your handler.
For reference, here is what's happening in Cashier's default handler:
https://github.com/laravel/cashier-paddle/blob/2.x/src/Http/Controllers/WebhookController.php
You can see how it dispatches based on event types, what they are, what models are updated and with what data and so on. So if you want to override, copy and paste in this code if you like from Cashier's default code, and add your own logic if you really want to. Otherwise, remove the CASHIER_WEBHOOK in .env and don't override, just listen for other events and use the source code as a guide to what you may wish to do with events Cashier doesn't automatically handle.
Hope this helps! I find this interesting because I'm about to try and integrate Paddle myself, after years of handling Stripe and finding Paddle to be a better alternative for my needs now.