This approach is quite computationally intensive and error-prone. Historically the suggested approach for calculating areas for rasters was to convert the raster to a vector layer and use vector area calculation techniques. Batch Processing using Processing Framework (QGIS2).
Searching and Downloading OpenStreetMap Data.Running and Scheduling QGIS Processing Jobs.Writing Python Scripts for Processing Framework (QGIS3).Using Custom Python Expression Functions (QGIS3).Running Processing Algorithms via Python (QGIS3).Getting Started With Python Programming (QGIS3).Calculating Areal Mean Rainfall (QGIS3).Travel Time Analysis with Uber Movement (QGIS3).Service Area Analysis using Openrouteservice (QGIS3).Locating Nearest Facility with Origin-Destination Matrix (QGIS3).Basic Network Visualization and Routing (QGIS3).Multi Criteria Overlay Analysis (QGIS3).Automating Map Creation with Print Layout Atlas (QGIS3).Automating Complex Workflows using Processing Modeler (QGIS3).