Your query concatenates all IDs and gives you a random title. And of course when you only select satellite ID #2 then you only see #2.
First of all, you don't want to aggregate all records. You want groups. You want one record per content, so group by content. As there may be duplicate titles, better group by content id.
SELECT
c.id,
c.title,
GROUP_CONCAT(distinct cs.satellite_id order by cs.satellite_id) as satellite_ids
FROM content c
LEFT JOIN content_satellite cs ON cs.content_id = c.id
GROUP BY c.id;
EDIT: To get those contents that have satellite #2 in their list use HAVING with an appropriate case expression:
SELECT
c.id,
c.title,
GROUP_CONCAT(distinct cs.satellite_id order by cs.satellite_id) as satellite_ids
FROM content c
LEFT JOIN content_satellite cs ON cs.content_id = c.id
GROUP BY c.id
HAVING MAX( CASE WHEN cs.satellite_id = 2 THEN 1 ELSE 0 END ) = 1;