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 (
    69361, 69045, 69036, 39005, 37892, 38063, 
    66499, 69383, 66516, 69046, 66500, 
    69380, 66501, 37893, 66504, 69803, 
    67439, 66503, 66517, 66508, 69820, 
    66513, 69817, 69814
  ) 
  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.00222

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "5.09"
    },
    "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.61",
              "eval_cost": "0.48",
              "prefix_cost": "5.09",
              "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 (69361,69045,69036,39005,37892,38063,66499,69383,66516,69046,66500,69380,66501,37893,66504,69803,67439,66503,66517,66508,69820,66513,69817,69814)) and (`cscart_db`.`cscart_product_prices`.`usergroup_id` in (0,1)))"
          }
        }
      ]
    }
  }
}

Result

product_id price
37892 787.500000
37893 875.000000
38063 699.300000
39005 1399.300000
66499 839.300000
66500 874.300000
66501 874.300000
66503 2799.300000
66504 3499.300000
66508 3499.300000
66513 2799.300000
66516 3499.300000
66517 4199.300000
67439 2799.300000
69036 2799.300000
69045 2099.300000
69046 2799.300000
69361 1539.300000
69380 1049.300000
69383 1469.300000
69803 2799.300000
69814 1049.300000
69817 1539.300000
69820 1609.300000