I would think probably your block statement is matching the request and getting a reset.
try adding some logging to the irule and see if it is matching the redirect or block statment. If your data group is properly done, then try below irule and see if that works someway..
when HTTP_REQUEST {
if { [string tolower [HTTP::uri]] equals "/" } {
HTTP::redirect "https://[HTTP::host]/frontend-web/app/auth.html"
log local0. "redirect matched [HTTP::uri]"
}
elseif { [ class match [string tolower [HTTP::uri]] contains uri_allow ] } {
log local0. "datagroup matched [HTTP::uri].. blocking url"
return
}