Seu SQL está correto para o que você quer fazer. Slick provavelmente está produzindo uma consulta como esta:
SELECT device.*, COUNT(device.id)
-----------------------^
FROM device LEFT JOIN
unit
ON device.id = unit.device_id
GROUP BY device.id;
Talvez haja uma maneira de contar
device_id
, que é inequivocamente de unit
.