The requests made in the original project were sequential and paginated with 100-length pages as well. Rate limit was hit at around 47k users, so ~470 requests.
In both bucket algorithm cases, the ~470 requests still should not have emptied the bucket.
My test project was mostly just to confirm what @Dist said about how the rate limit actually works. Since I was testing this on my own account with only around 100 banned users, it was the same request of page size 100 sent on a 10ms interval with no cursor.
In both cases, requests were made on their own client IDs, with no other helix requests being sent on it.
I changed my test project to now make the requests sequential with no cursor and I did not hit any limit with a test of 2500 requests which spanned ~5mins, now I’m really not sure why I hit a limit originally. But if I change the page size in my test project to 1, I hit a rate limit at ~700 requests, with 799 points in my bucket.