SELECT 
  cscart_products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_products_categories.link_type = "M", 
      CONCAT(
        cscart_products_categories.category_id, 
        "M"
      ), 
      cscart_products_categories.category_id
    )
  ) AS category_ids, 
  product_position_source.position AS position 
FROM 
  cscart_products_categories 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  LEFT JOIN cscart_products_categories AS product_position_source ON cscart_products_categories.product_id = product_position_source.product_id 
  AND product_position_source.category_id = 7251 
WHERE 
  cscart_products_categories.product_id IN (
    95437, 95438, 95439, 95440, 95441, 95704, 
    95705, 95728, 95729, 95730, 95731, 
    95732, 95733, 95734, 95735, 96153, 
    96170, 96171, 96172, 96173, 96174, 
    96175, 96537, 96559, 96560, 96561, 
    97057, 97058, 97953, 97954
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00150

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "49.78"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 55,
            "rows_produced_per_join": 55,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "5.78",
              "eval_cost": "5.50",
              "prefix_cost": "11.28",
              "data_read_per_join": "880"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (95437,95438,95439,95440,95441,95704,95705,95728,95729,95730,95731,95732,95733,95734,95735,96153,96170,96171,96172,96173,96174,96175,96537,96559,96560,96561,97057,97058,97953,97954))"
          }
        },
        {
          "table": {
            "table_name": "product_position_source",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id",
              "product_id"
            ],
            "key_length": "6",
            "ref": [
              "const",
              "nuie_scalesta_net.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 55,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "13.75",
              "eval_cost": "5.50",
              "prefix_cost": "30.53",
              "data_read_per_join": "880"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 2,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "13.75",
              "eval_cost": "0.28",
              "prefix_cost": "49.78",
              "data_read_per_join": "7K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`nuie_scalesta_net`.`cscart_categories`.`storefront_id` in (0,1)) and ((`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`))) and (`nuie_scalesta_net`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
95437 7331,7253M
95438 7331,7253M
95439 7331,7253M
95440 7331,7253M
95441 7331,7253M
95704 7331,7253M
95705 7331,7253M
95728 7331,7253M
95729 7331,7253M
95730 7331,7253M
95731 7331,7253M
95732 7331,7253M
95733 7331,7253M
95734 7331,7253M
95735 7331,7253M
96153 7252M
96170 7331,7253M
96171 7331,7253M
96172 7331,7253M
96173 7331,7253M
96174 7252M
96175 7252M
96537 7331,7253M
96559 7331,7253M
96560 7331,7253M
96561 7331,7253M
97057 7331,7253M
97058 7331,7253M
97953 7252M
97954 7252M