Fixed window: each window checks its own count - 3 fits, so 3 fits, twice
Fixed window: the counter resets hard at the boundary, no memory of what just happened
Fixed window: 6 requests in ~2 seconds - double the "3 per window" you configured
Token bucket: only 3 tokens exist, no matter which side of a clock boundary you're on
Token bucket: the bucket empties, and it refills slowly - not all at once
Token bucket: the burst is capped at 3, full stop, regardless of timing