NWP forecasts are generally available to public in GRIB format, which contains a grid of rectangular cells - regularly distributed over the coverage area - for each parameter/level.
Parameters of NOAA's GFS 0.25° model (actually it is its full name; there is also GFS 0.5°), are well provided on grids with cells of 0.25° X 0.25° (lon/lat WGS84), one value by cell.
Thus, saying resolution 0.25° (or corresponding distance in km. on Earth at some latitude), is not an error; it corresponds to the distance between two values on the grid, i.e. to the resolution of the model as displayed on map (independently from the computed resolution in factory).
E.g. for lat=0°, distance between two values is 27.8 km for GFS 0.25°, while at mean Europe latitudes (lat=45°), the resolution is 20 km (see self-explaining image above).
For model values displayed on map as color shading (palette), or when user click on the map, intermediate values are extrapolated from neighbour cells values to the selected position (I don't know which extrapolation or smoothing algorithm Windy uses, there are many of them).
From my pov., the best would be to provide the resolution of a model in ° WGS84...
Defining the grid cell resolution as distance on Earth may be tricky, as it mainly depends on the latitude.
E.g., which would be the distance between two values of GFS 0.25° at levels at dozens of Km above the Earth?
Other models (e.g. DWD's ICON) are computed and provided in grids with hexagonal cells; they should generally be converted to square or rectangular grids in order to allow map renderers to handle them; here, the rendered resolution is not the same as the original one.