The Push event includes a Pusher, which only has four fields:
The PushEvent type includes a Pusher, but the type is a full User object, which not only will have most fields unfilled, but more importantly, the username from the webhook is lost because a typical User includes a login, not username.
https://docs.github.com/en/webhooks/webhook-events-and-payloads#push
These should probably be distinct objects, much like Repository and PushEventRepository are distinct.
I'll send a PR for this in a bit.