When I add a rule like what you have, screenshot, making it the first to execute, I still see requests from that IP address:
$ sudo tail -f /var/log/nginx/access-example.com.log | grep ^2a06
2a06:98c0:3600::103 - - [24/Jun/2024:17:26:15 -0400] "GET /foo/bar/0 HTTP/2.0" 403 548 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.6422.175 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
2a06:98c0:3600::103 - - [24/Jun/2024:17:26:15 -0400] "GET /foo/bar/1 HTTP/2.0" 403 548 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.6422.175 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
2a06:98c0:3600::103 - - [24/Jun/2024:17:26:16 -0400] "GET /foo/bar/2 HTTP/2.0" 403 548 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.6422.175 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
The rest of the rules block specific IP addresses, some user agents, and the like. They don’t matter much since they are lower on the order of execution.