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 = 7156 
WHERE 
  cscart_products_categories.product_id IN (
    88741, 88742, 92203, 92449, 92168, 86857, 
    85037, 91870, 91869, 91871, 91872, 
    91873, 91874, 91875, 85038, 92458, 
    92459, 92460, 92461, 92462, 92463, 
    92464, 86892, 88149, 88587, 92211, 
    92216, 92218, 92219, 92220
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01493

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "96.60"
    },
    "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": 107,
            "rows_produced_per_join": 107,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "11.00",
              "eval_cost": "10.70",
              "prefix_cost": "21.70",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (88741,88742,92203,92449,92168,86857,85037,91870,91869,91871,91872,91873,91874,91875,85038,92458,92459,92460,92461,92462,92463,92464,86892,88149,88587,92211,92216,92218,92219,92220))"
          }
        },
        {
          "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": 107,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "26.75",
              "eval_cost": "10.70",
              "prefix_cost": "59.15",
              "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": 5,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "26.75",
              "eval_cost": "0.54",
              "prefix_cost": "96.60",
              "data_read_per_join": "13K"
            },
            "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
85037 7157M,7341,7342,7343
85038 7157M,7341,7342,7343
86857 7157M,7341,7342,7343
86892 7157M,7341,7342,7343
88149 7194M
88587 7194M
88741 7194M
88742 7194M
91869 7157M,7341,7342,7343
91870 7157M,7341,7342,7343
91871 7157M,7341,7342,7343
91872 7157M,7341,7342,7343
91873 7157M,7341,7342,7343
91874 7157M,7341,7342,7343
91875 7157M,7341,7342,7343
92168 7148M,7156,7157 0
92203 7157M,7341,7342,7343
92211 7157M,7341,7342,7343
92216 7157M,7341,7342,7343
92218 7157M,7341,7342,7343
92219 7157M,7341,7342,7343
92220 7157M,7341,7342,7343
92449 7157M,7341,7342,7343
92458 7157M,7341,7342,7343
92459 7157M,7341,7342,7343
92460 7157M,7341,7342,7343
92461 7157M,7341,7342,7343
92462 7157M,7341,7342,7343
92463 7157M,7341,7342,7343
92464 7157M,7341,7342,7343