Is connecting two GND planes with vias a standard practice?
It's called stitching. You want your copper pours (polygons) to be well connected. Any non-connected islands are referred to as "dead copper" and should be removed.

Arduino example is a rather moderate one. On multilayer boards, you can have hundreds of stitching vias.