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 = 3 
WHERE 
  cscart_products_categories.product_id IN (
    51480, 51479, 132, 3, 2, 66, 133, 51471, 
    51472, 51470, 51529, 51459, 51457, 
    51460, 51501, 51464, 51478, 51469, 
    51486, 51467, 51461, 51475, 51477, 
    51473, 51458, 51463, 51516, 51532, 
    51492, 51514, 51468, 51476, 51491, 
    51513, 51474, 51462, 51502, 51465, 
    51515, 51466, 51485, 51518, 51528, 
    51527, 51482, 51512, 51493, 51511, 
    51505, 51535
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00354

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "87.26"
    },
    "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": 65,
            "rows_produced_per_join": 65,
            "filtered": "100.00",
            "index_condition": "(`test_uchur_k`.`cscart_products_categories`.`product_id` in (51480,51479,132,3,2,66,133,51471,51472,51470,51529,51459,51457,51460,51501,51464,51478,51469,51486,51467,51461,51475,51477,51473,51458,51463,51516,51532,51492,51514,51468,51476,51491,51513,51474,51462,51502,51465,51515,51466,51485,51518,51528,51527,51482,51512,51493,51511,51505,51535))",
            "cost_info": {
              "read_cost": "35.26",
              "eval_cost": "6.50",
              "prefix_cost": "41.76",
              "data_read_per_join": "1K"
            },
            "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": 65,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "16.25",
              "eval_cost": "6.50",
              "prefix_cost": "64.51",
              "data_read_per_join": "1K"
            },
            "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": 3,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "16.25",
              "eval_cost": "0.33",
              "prefix_cost": "87.26",
              "data_read_per_join": "17K"
            },
            "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
2 42,4,40M
3 42,4,40M
66 42,4,40M
132 35,42,40M
133 42,40M,4
51457 4M
51458 4M
51459 4M
51460 4M
51461 4M
51462 4M
51463 4M
51464 4M
51465 4M
51466 4M
51467 4M
51468 4M
51469 3M 0
51470 3M 0
51471 117M
51472 117M
51473 117M
51474 117M
51475 117M
51476 117M
51477 3M 0
51478 117M
51479 4M,42,40
51480 42,4M,40
51482 117M
51485 4M
51486 4M
51491 117M
51492 117M
51493 3M 0
51501 158M
51502 158M
51505 158M
51511 191M
51512 258M
51513 258M
51514 258M
51515 258M
51516 258M
51518 35M
51527 205M
51528 205M
51529 205M
51532 190M
51535 158M