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 = 2 
WHERE 
  cscart_products_categories.product_id IN (
    51529, 51459, 51457, 51460, 51051, 51053, 
    51501, 51530, 51464, 51478, 51551, 
    51469, 51510, 51486, 51531, 51467, 
    51044, 51047, 51461, 51475, 51477, 
    51473, 51437, 51525, 51540, 51545, 
    51048, 51458, 51463, 51516, 51532, 
    51492
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00152

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "44.81"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 32,
            "rows_produced_per_join": 32,
            "filtered": "100.00",
            "index_condition": "(`test_uchur_k`.`cscart_products_categories`.`product_id` in (51529,51459,51457,51460,51051,51053,51501,51530,51464,51478,51551,51469,51510,51486,51531,51467,51044,51047,51461,51475,51477,51473,51437,51525,51540,51545,51048,51458,51463,51516,51532,51492))",
            "cost_info": {
              "read_cost": "19.21",
              "eval_cost": "3.20",
              "prefix_cost": "22.41",
              "data_read_per_join": "512"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "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",
              "test_uchur_k.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 32,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "8.00",
              "eval_cost": "3.20",
              "prefix_cost": "33.61",
              "data_read_per_join": "512"
            },
            "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": [
              "test_uchur_k.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 1,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "8.00",
              "eval_cost": "0.16",
              "prefix_cost": "44.81",
              "data_read_per_join": "8K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`test_uchur_k`.`cscart_categories`.`storefront_id` in (0,1)) and ((`test_uchur_k`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`test_uchur_k`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`test_uchur_k`.`cscart_categories`.`usergroup_ids`))) and (`test_uchur_k`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
51044 231M
51047 231M
51048 231M
51051 231M
51053 231M
51437 395M
51457 4M
51458 4M
51459 4M
51460 4M
51461 4M
51463 4M
51464 4M
51467 4M
51469 3M
51473 117M
51475 117M
51477 3M
51478 117M
51486 4M
51492 117M
51501 158M
51510 260M
51516 258M
51525 279M
51529 205M
51530 83M
51531 260M
51532 190M
51540 237M
51545 79M
51551 237M