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 (
    447, 368, 432, 433, 434, 435, 436, 437, 
    438, 439, 440, 441, 442, 443, 444, 445, 
    446, 369, 417, 418, 419, 420, 421, 422, 
    423, 424, 425, 426, 427, 428, 429, 430, 
    431, 367, 402, 403, 404, 405, 406, 407, 
    408, 409, 410, 411, 412, 413, 414, 415, 
    416
  ) 
  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.00087

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost": 0.121719769,
    "nested_loop": [
      {
        "table": {
          "table_name": "cscart_product_prices",
          "access_type": "range",
          "possible_keys": [
            "usergroup",
            "product_id",
            "lower_limit",
            "usergroup_id"
          ],
          "key": "usergroup",
          "key_length": "9",
          "used_key_parts": ["product_id", "usergroup_id", "lower_limit"],
          "loops": 1,
          "rows": 98,
          "cost": 0.0898264,
          "filtered": 20.67510605,
          "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.product_id in (447,368,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,369,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,367,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416) and cscart_product_prices.usergroup_id in (0,1)"
        }
      },
      {
        "table": {
          "table_name": "cscart_master_products_storefront_min_price",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "8",
          "used_key_parts": ["product_id", "storefront_id"],
          "ref": [
            "u428615623_ecartifygonje.cscart_product_prices.product_id",
            "const"
          ],
          "loops": 20.26160338,
          "rows": 1,
          "cost": 0.018941989,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_master_products_storefront_min_price.product_id = cscart_product_prices.product_id)"
        }
      }
    ]
  }
}

Result

product_id price
367 100.00000000
368 225.00000000
369 520.00000000
402 100.00000000
403 100.00000000
404 100.00000000
405 100.00000000
406 100.00000000
407 100.00000000
408 100.00000000
409 100.00000000
410 100.00000000
411 100.00000000
412 100.00000000
413 100.00000000
414 100.00000000
415 100.00000000
416 100.00000000
417 520.00000000
418 520.00000000
419 520.00000000
420 520.00000000
421 520.00000000
422 520.00000000
423 520.00000000
424 520.00000000
425 520.00000000
426 520.00000000
427 520.00000000
428 520.00000000
429 520.00000000
430 520.00000000
431 520.00000000
432 225.00000000
433 225.00000000
434 225.00000000
435 225.00000000
436 225.00000000
437 225.00000000
438 225.00000000
439 225.00000000
440 225.00000000
441 225.00000000
442 225.00000000
443 225.00000000
444 225.00000000
445 225.00000000
446 225.00000000
447 15.00000000