La sintaxis que estás usando para decir qué campos específicos del modelo relacionado quieres recibir es correcta. Solamente te falla un detalle.
En el método with() indicas ":" seguido de los campos que quieres traer, separados por comas. "product:id,title".
La clave en este caso es que, al enumerar los campos que deseas traerte, Laravel Eloquent te obliga a indicar que al menos necesitas el campo ID. Si no colocas el id entre los campos que quieres obtener, simplemente la relación te devuelve un null en el modelo/s relacionado/s.
Un ejemplo de la sintaxis quedaría así:
$products = Product::with('brand:id,name')->get();