Su SQL es correcto para lo que quiere hacer. Slick probablemente esté generando una consulta como esta:
SELECT device.*, COUNT(device.id)
-----------------------^
FROM device LEFT JOIN
unit
ON device.id = unit.device_id
GROUP BY device.id;
Tal vez haya una manera de hacer que cuente device_id
, que es inequívocamente de unit
.