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 (
    2179, 2180, 2181, 2182, 2183, 2184, 3779, 
    3780, 3781, 3782, 3783, 3784, 3785, 
    3786, 3787, 3788, 3789, 3790, 3791, 
    3792, 3793, 3794, 3795, 3796, 3797, 
    3798, 3799, 3800, 3801, 3802, 3803, 
    3804, 3805, 3806, 3807, 3808, 3809, 
    3810, 3811, 3812, 3813, 3814, 3815, 
    3816, 3817, 3818, 3819, 3820
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00185

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 (2179,2180,2181,2182,2183,2184,3779,3780,3781,3782,3783,3784,3785,3786,3787,3788,3789,3790,3791,3792,3793,3794,3795,3796,3797,3798,3799,3800,3801,3802,3803,3804,3805,3806,3807,3808,3809,3810,3811,3812,3813,3814,3815,3816,3817,3818,3819,3820))",
            "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
2179 274M
2180 274M
2181 274M
2182 274M
2183 274M
2184 274M
3779 274M
3780 274M
3781 274M
3782 274M
3783 274M
3784 274M
3785 274M
3786 274M
3787 274M
3788 274M
3789 274M
3790 274M
3791 274M
3792 274M
3793 274M
3794 274M
3795 274M
3796 274M
3797 274M
3798 274M
3799 274M
3800 274M
3801 274M
3802 274M
3803 274M
3804 274M
3805 274M
3806 274M
3807 274M
3808 274M
3809 274M
3810 274M
3811 274M
3812 274M
3813 274M
3814 274M
3815 274M
3816 274M
3817 274M
3818 274M
3819 274M
3820 274M