Tienes al menos dos errores lógicos, pero la pregunta final es fácil de responder.
El WHERE que planteas debe cumplir que:
1) Devuelva todos los registros de la tabla Grupo que no estén el Temporal_Grupo.
2) El registro devuelto debe ser producto_id = 2.
En el contexto de los datos que dices tener, no existe ningún registro que cumpla eso, porque:
1) Grupo tiene un sólo registro, con ID = 5.
2) Ese único registro está también en la tabla Temporal_grupo, por lo que no se lo devuelve.
3) Es diferente a 2, por lo que tampoco cumple la segunda condición, por lo que aunque no estuviese en la segunda tabla, no te lo devolvería.
Creo que ni miraste lo que ponías, o lo que ponías no era lo que necesitabas buscar.
Cita: Lo que deseo es comparar esos 2 resultados en un query y que me retorne la diferencia, osea "14"
Eso es lo más sencillo del mundo, y hay al menos dos formas de lograrlo:
O bien: