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 = 7149 
WHERE 
  cscart_products_categories.product_id IN (
    86330, 86333, 86334, 86338, 86342, 82358, 
    82387, 86332, 82388, 82365, 84752, 
    92593, 92594, 92595, 92596, 94023, 
    94694, 94695, 94696, 94697, 94698, 
    94699, 94700, 94701, 94702, 94707, 
    94708, 96295, 96298, 96299
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00122

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "64.18"
    },
    "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": 71,
            "rows_produced_per_join": 71,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "7.39",
              "eval_cost": "7.10",
              "prefix_cost": "14.49",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (86330,86333,86334,86338,86342,82358,82387,86332,82388,82365,84752,92593,92594,92595,92596,94023,94694,94695,94696,94697,94698,94699,94700,94701,94702,94707,94708,96295,96298,96299))"
          }
        },
        {
          "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": 71,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "17.75",
              "eval_cost": "7.10",
              "prefix_cost": "39.34",
              "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": [
              "nuie_scalesta_net.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 3,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "17.75",
              "eval_cost": "0.36",
              "prefix_cost": "64.19",
              "data_read_per_join": "9K"
            },
            "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
82358 7148,7149,7152M 0
82365 7148,7149,7152M 0
82387 7148,7149,7152M 0
82388 7148,7149,7152M 0
84752 7148,7149,7152M 0
86330 7148,7149,7152M 0
86332 7148,7149,7152M 0
86333 7148,7149,7152M 0
86334 7148,7149,7152M 0
86338 7148,7149,7152M 0
86342 7148,7149,7152M 0
92593 7303,7161M
92594 7303,7161M
92595 7303,7161M
92596 7303,7161M
94023 7301,7151M
94694 7305,7160M
94695 7305,7160M
94696 7301,7151M
94697 7301,7151M
94698 7305,7160M
94699 7305,7160M
94700 7305,7160M
94701 7305,7160M
94702 7305,7160M
94707 7303,7161M
94708 7303,7161M
96295 7301,7151M
96298 7301,7151M
96299 7305,7160M