Why is it कौन से? Shouldn't it be कौनसा (or कौनसे)? I found कौन से very confusing, especially at that point a learner would confuse it with किस्से from whom because the oblique किस isn't known yet.
फूल is in the oblique case because of the postposition की that makes it a possessor, and all adjectives must agree with it in case (and number). फूल doesn't change in the oblique case in the singular, so it remains the same, but कौनसा does change to its oblique form. कौन से is the oblique form of कौनसा.