I think the promotion program condition is so confusing. It is only here to trigger the promotion. The discount will be applied to the whole order amount instead of the product in the condition.
For example, I have a 20% discount condition for the product only the name contains Nike. When it comes to a mixed order. The 20% discount applies to the whole POS order.
Hand-selecting the products one by one in the Discount Apply On section is not a solution.
And I dont see if there could be a workaround.