SELECT 
  cscart_product_prices.product_id, 
  COALESCE(
    cscart_master_products_storefront_min_price.price, 
    MIN(
      IF(
        cscart_product_prices.percentage_discount = 0, 
        cscart_product_prices.price, 
        cscart_product_prices.price - (
          cscart_product_prices.price * cscart_product_prices.percentage_discount
        )/ 100
      )
    )
  ) AS price 
FROM 
  cscart_product_prices 
  LEFT JOIN cscart_master_products_storefront_min_price ON cscart_master_products_storefront_min_price.product_id = cscart_product_prices.product_id 
  AND cscart_master_products_storefront_min_price.storefront_id = 1 
WHERE 
  cscart_product_prices.product_id IN (
    36470, 36823, 36354, 69202, 69204, 69205, 
    13478, 36824, 11185, 35874, 35897, 
    36353, 36825, 36826, 66445, 69208, 
    69209, 69212, 11191, 11193, 11195, 
    11196, 24605, 35858
  ) 
  AND cscart_product_prices.lower_limit = 1 
  AND cscart_product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  cscart_product_prices.product_id

Query time 0.00248

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "5.34"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_master_products_storefront_min_price",
            "access_type": "system",
            "possible_keys": [
              "PRIMARY"
            ],
            "rows_examined_per_scan": 0,
            "rows_produced_per_join": 1,
            "filtered": "0.00",
            "const_row_not_found": true,
            "cost_info": {
              "read_cost": "0.00",
              "eval_cost": "0.10",
              "prefix_cost": "0.00",
              "data_read_per_join": "16"
            },
            "used_columns": [
              "storefront_id",
              "product_id",
              "price"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_product_prices",
            "access_type": "range",
            "possible_keys": [
              "usergroup",
              "product_id",
              "lower_limit",
              "usergroup_id",
              "idx_product_prices_usergroup_limit",
              "idx_prices_discount_lookup",
              "idx_prices_min_calc",
              "idx_prices_usergroup_lookup",
              "idx_prices_usergroup_product"
            ],
            "key": "idx_prices_discount_lookup",
            "used_key_parts": [
              "product_id",
              "lower_limit"
            ],
            "key_length": "6",
            "rows_examined_per_scan": 24,
            "rows_produced_per_join": 4,
            "filtered": "20.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "4.86",
              "eval_cost": "0.48",
              "prefix_cost": "5.34",
              "data_read_per_join": "115"
            },
            "used_columns": [
              "product_id",
              "price",
              "percentage_discount",
              "lower_limit",
              "usergroup_id"
            ],
            "attached_condition": "((`cscart_db`.`cscart_product_prices`.`lower_limit` = 1) and (`cscart_db`.`cscart_product_prices`.`product_id` in (36470,36823,36354,69202,69204,69205,13478,36824,11185,35874,35897,36353,36825,36826,66445,69208,69209,69212,11191,11193,11195,11196,24605,35858)) and (`cscart_db`.`cscart_product_prices`.`usergroup_id` in (0,1)))"
          }
        }
      ]
    }
  }
}

Result

product_id price
11185 382.910000
11191 382.910000
11193 840.400000
11195 812.000000
11196 893.200000
13478 989.100000
24605 1978.200000
35858 700.920000
35874 934.560000
35897 1311.220000
36353 350.000000
36354 625.000000
36470 399.000000
36823 275.000000
36824 500.000000
36825 750.000000
36826 1000.000000
66445 297.500000
69202 999.000000
69204 849.000000
69205 89.000000
69208 139.000000
69209 139.000000
69212 450.000000