Is it OK to group by geometry?

We do a lot of counting points by polygon geometries, which involves intersecting the data first in order to count instances of students. by school boundary, block group, etc:

    SELECT
      n.nbhd_id
      , count(*) AS count_burglaries
    FROM denver.crime AS c
      JOIN denver.neighborhoods AS n
        ON ST_Intersects(c.geom, n.geom)
    
    WHERE c.offense_ty LIKE 'BURG%'
    GROUP BY n.nbhd_id


Second step is to wrap in a sub-query in order to join the geometry from the polygon table back to the count query:

    SELECT
    
    count.*
    , n.nbhd_name
    , n.geom
    FROM (
    SELECT
    n.nbhd_id
    , count(*) AS count_burglaries
    FROM denver.crime AS c
    JOIN denver.neighborhoods AS n
    ON ST_Intersects(c.geom, n.geom)
    
    WHERE c.offense_ty LIKE 'BURG%'
    GROUP BY n.nbhd_id
    
    ) AS count
    
    JOIN denver.neighborhoods AS n
    ON count.nbhd_id = n.nbhd_id

But it seems you can also use geometry in GROUP BY:

    SELECT
    n.nbhd_id
    , n.nbhd_name
    , n.geom
        
    , count(*) AS count_burglaries
    FROM denver.crime AS c
    JOIN denver.neighborhoods AS n
    ON ST_Intersects(c.geom, n.geom)
        
    WHERE c.offense_ty LIKE 'BURG%'
    GROUP BY n.nbhd_id, nbhd_name, n.geom

Is including geometry in the GROUP BY a correct approach?