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 (
    66077, 66079, 66082, 66084, 66369, 66371, 
    66386, 66681, 66682, 66683, 66685, 
    66687, 66692, 66694, 66695, 67273, 
    68901, 68904, 68906, 68978, 68979, 
    68980, 68981, 68982
  ) 
  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.00221

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "5.44"
    },
    "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.96",
              "eval_cost": "0.48",
              "prefix_cost": "5.44",
              "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 (66077,66079,66082,66084,66369,66371,66386,66681,66682,66683,66685,66687,66692,66694,66695,67273,68901,68904,68906,68978,68979,68980,68981,68982)) and (`cscart_db`.`cscart_product_prices`.`usergroup_id` in (0,1)))"
          }
        }
      ]
    }
  }
}

Result

product_id price
66077 674.100000
66079 674.100000
66082 674.100000
66084 674.100000
66369 902.500000
66371 755.250000
66386 664.050000
66681 1467.400000
66682 1467.400000
66683 1467.400000
66685 1499.300000
66687 1467.400000
66692 1755.000000
66694 1755.000000
66695 1755.000000
67273 686.950000
68901 637.500000
68904 712.500000
68906 675.000000
68978 1188.000000
68979 1188.000000
68980 1188.000000
68981 1188.000000
68982 1188.000000