```python
from typing import List

def region_totals(grids: List[List[int]], queries: List[List[int]]) -> List[int]:
    if not grids or not grids[0]:
        raise ValueError("grid must be a non-empty list of rows")
    width = len(grids[0]) if isinstance(grids[0], List) else 0
    if width == 0:
        raise ValueError("rows must be non-empty lists")
    for row in grids:
        if not isinstance(row, List) or len(row) != width:
            raise ValueError("rows must all share one length")
        for cell in row:
            if isinstance(cell, bool) or not isinstance(cell, int):
                raise ValueError("cells must be integers")

    def build_prefix_sum_table(grid: List[List[int]]) -> List[List[int]]:
        height = len(grid)
        prefix_sum = [[0] * (width + 1) for _ in range(height + 1)]
        for i in range(1, height + 1):
            for j in range(1, width + 1):
                prefix_sum[i][j] = grid[i - 1][j - 1] + prefix_sum[i - 1][j] + prefix_sum[i][j - 1] - prefix_sum[i - 1][j - 1]
        return prefix_sum

    prefix_sum_table = build_prefix_sum_table(grids)

    results = []
    for query in queries:
        top, left, bottom, right = query
        if not isinstance(query, List) or len(query) != 4:
            raise ValueError("queries must be lists of exactly four integers")
        if not (isinstance(top, int) and isinstance(left, int) and isinstance(bottom, int) and isinstance(right, int)):
            raise ValueError("queries must be lists of integers")
        if top >= bottom or left >= right:
            raise ValueError("queries must have top < bottom and left < right")
        if top < 0 or left < 0 or bottom > len(grids) or right > width:
            raise ValueError("queries must not reach outside the grid")

        # Calculate the sum of the block using the prefix sum table
        total = prefix_sum_table[bottom][right] - prefix_sum_table[top][right] - prefix_sum_table[bottom][left] + prefix_sum_table[top][left]
        results.append(total)

    return results
```