Not only is the flood exactly hourly, it's got some correlation to the hub's start time.
I looked at the hub event logs and saw:
systemStart System startup with build: 2.3.8.138 2.3.8.138 4/08/2024 4:55:37.746 pm
and thought I could predict that the flood would occur on minute 55 of any hour. I was able to capture the flood in that minute with another 2400 packets in a second: 07:55:17.212149 to 07:55:18.296927