My issue is that only one of the input values (ingredients) is being submitted to the cart, even though the values are there when I check the dev console:
This isn’t so much a Liquid problem as it is a HTML one. All your fields have the same name (properties[ingredient]). If they have unique names then you would see them all. With your current set up only one field will win.
The other alternative would be to put all the values into the one field and not have multiples.
I’m assuming some level of front end skills here so have been a bit vague in the reply. If you need more help - that’s ok - just post a reply when you get stuck.