Um GROUP BY precisa de linhas para trabalhar, portanto, se você não tiver linhas para uma determinada categoria, não obterá a contagem. Pense na cláusula where como limitando as linhas de origem antes de serem agrupadas. A cláusula where não está fornecendo uma lista de categorias para agrupar.
O que você pode fazer é escrever uma consulta para selecionar as categorias (subúrbios) e fazer a contagem em uma subconsulta. (Não tenho certeza de como é o suporte do MySQL para isso)
Algo como:
SELECT
s.suburb_id,
(select count(*) from suburb_data d where d.suburb_id = s.suburb_id) as total
FROM
suburb_table s
WHERE
s.suburb_id in (1,2,3,4)
(MSSQL, desculpas)