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 = 265 
WHERE 
  cscart_products_categories.product_id IN (
    3821, 3822, 3823, 3824, 3825, 3826, 3827, 
    3828, 3829, 3830, 3831, 3832, 3778, 
    2103, 2104, 2105, 2106, 2107, 2108, 
    2109, 2110, 2111, 2112, 2113, 2114, 
    2115, 2116, 2117, 2118, 2119, 2120, 
    2121, 2122, 2123, 2124, 2125, 2126, 
    2127, 2128, 2129, 3752, 3753, 3754, 
    3755, 3756, 3757, 3758, 3759
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00251

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "59.97"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "0.88"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 46,
            "rows_produced_per_join": 1,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "5.15",
              "eval_cost": "0.18",
              "prefix_cost": "5.33",
              "data_read_per_join": "7K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`test2_gaseus`.`cscart_categories`.`storefront_id` in (0,1)) and ((`test2_gaseus`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`test2_gaseus`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`test2_gaseus`.`cscart_categories`.`usergroup_ids`))) and (`test2_gaseus`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "test2_gaseus.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 83,
            "rows_produced_per_join": 0,
            "filtered": "0.58",
            "index_condition": "(`test2_gaseus`.`cscart_products_categories`.`product_id` in (3821,3822,3823,3824,3825,3826,3827,3828,3829,3830,3831,3832,3778,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,3752,3753,3754,3755,3756,3757,3758,3759))",
            "cost_info": {
              "read_cost": "38.18",
              "eval_cost": "0.09",
              "prefix_cost": "58.78",
              "data_read_per_join": "14"
            },
            "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",
              "test2_gaseus.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 0,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.22",
              "eval_cost": "0.09",
              "prefix_cost": "59.09",
              "data_read_per_join": "14"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
2103 274M
2104 274M
2105 274M
2106 274M
2107 274M
2108 274M
2109 274M
2110 274M
2111 274M
2112 274M
2113 274M
2114 274M
2115 274M
2116 274M
2117 274M
2118 274M
2119 274M
2120 274M
2121 274M
2122 274M
2123 274M
2124 274M
2125 274M
2126 274M
2127 274M
2128 274M
2129 274M
3752 274M
3753 274M
3754 274M
3755 274M
3756 274M
3757 274M
3758 274M
3759 274M
3778 274M
3821 274M
3822 274M
3823 274M
3824 274M
3825 274M
3826 274M
3827 274M
3828 274M
3829 274M
3830 274M
3831 274M
3832 274M