Your players being creative is not a bad thing
How D&D works is, that you present your players with an adventure (location), in this case that kobold community, and your players then have the agency to come up with a solution on how to tackle that adventure and you as DM then adjudicate if and how those solutions work. In your case your players have come up with the solution of poisoning the water supply. To which you say:
I don't wanna just say no, but I also don't want them to have an unlimited supply of poison and XP without the proper difficulty
I get you. You don't wanna just block your players, as they seem to have fun coming up with this creative solution, but of course you also don't want them to just skip all the work your did with your adventure and especially don't want them to get XP for effectively doing nothing, as that would simply break the game. As others have pointed out (and even myself in my first comment under your question) you could very well just say: 'No, you can't poison the water supply'. And you actually did that, when you said:
I highlighted that the spell creates a gas, not a liquid, and because chemistry it wouldn't mix with the water directly.
To which your players responded with coming up with more intricate solutions on how to make their plan work, like further processing the poison by an alchemist. I want to tell you, that this really isn't a problem. Your players are creatively engaging with your world and having fun, and that by itself is great. The problem here is just that your players think that their ideas they will get them free XP, which again just isn't how D&D Works. XP and other rewards are awarded for completing encounters, adventures and quests.
So what do to? There is a simple solution, that will satisfy both you and your players. They will be able to test out their ideas and you will be able to give them rewards for doing them, while they overcome challenges:
Turn poisoning the water into an adventure
As stated earlier your job as DM is to adjudicate the players ideas and this is exactly what you are going to do here. For this you need to determine a few basic things about the adventure. First off, how can they poison the water supply, here are some examples:
- They have to spend a full 8 hour day at the river upstream of the kobolds continuously using the cantrip on the water and perhaps succeed on an ability check, maybe medicine, every 1-2 hours of casting.
- They can prepare the poison in town with one of their ideas, e.g. having an alchemist distill it. They then just only have to throw the result into the river and perhaps wait 1 hour until it arrives at the kobold lair.
You also need to determine what successfully poisoning the water will achieve, like:
- The Kobolds are dead (this is what your players want, but not want you want, that's okay, there are other options)
- The Kobolds lose half of their hit points to poison damage
- The Kobolds have the poisoned condition
- One of the above, but the kobolds get to make a Con Save to avoid the effect
- One of the above but it only effects a limited group of kobolds, maybe half of them or you determine it randomly e.g. by rolling 2D12+3
Now you have the basis for the adventure and can go ahead and fill it with encounters in the form of possible complications, or how you describe it in your question "the proper challenges to slow them down".
If the players spend 8 hours at the river, these things might happen:
- Local wildlife, such as a Griffon is disturbed by the players presence and attacks
- A merchant or other friendly NPC passes by and observes the players casting poison into the river. If they don't successfully deter him, he will tell the local militia or nature loving forest rangers about what they are doing, and they will come to intervene
- A flood pours down the river and the caster and all players near them must succeed on STR saves or be swept away
- Kobold scouts patrol the area and see what the players are doing. If the players don't spot and stop them, they will tell the kobold community who will then come and attack them.
- The hands of the wizard start to hurt from casting all day. The other players have to find a way to ease their pain, so they can continue casting, e.g. by collecting an herb to make a salve, which they can find with Survival rolls and they need to decide who goes herb collecting and who stays with the wizard.
If the players develop their poison in the city, these things might happen:
- The alchemist needs a certain ingredient such as the eye of a Basilisk or vines from a Shambling Mound to make what they want, which the players must then seek out and defeat
- The alchemist needs special equipment, that was stolen from a rival or can be bought from a wealthy merchant in a nearby town, which he tasks the players with doing
- The townsfolk find out that the players are distilling large amounts of poison, making them very suspicious of them. If they can't talk their way out of it they might be banned from town or people will refuse business with them.
- Kobold spies are in the town and might get a chance to find out the players plan beforehand and either try to sabotage their efforts in town, warn their people to not drink the water and/or await them with a small army, when they try to pour their finished poison into the river.
- Once they have their poison they now need a way to transport it from town all the way to the river. While transporting it, they might have to defend their payload from bandits or other dangers.
Be more flexible in your planning
As you can see, it is absolutely possible that both you and your players get what they want in this situaton. They get to successfully carry out their idea, while you can ensure that they also play the game and earn their XP reward. For this to work you have to be open to your player's ideas and use your DM tools to work them into the game in a way that is fun for both of you. One lesson that will help you achieve this is to not determine the solution for the adventure upfront, which I think you did, when you said:
The players aren't supposed to kill everyone in it, but to solve the issue through diplomacy.
I don't know if this is something you as the DM just intended for them to do or if this is something their quest giver explicitly asked of them. If the players are just passing through the area and the kobold community is a road block for them, they should be able to freely choose what to do: diplomacy, attacking directly, just going a different route or poison the water to weaken the kobolds, so they can proceed.
If the players were asked to deal with the kobolds by an NPC, they would have a specific goal, such as stopping the kobolds from attacking a village or getting back an item that the kobolds stole. They get a reward if they achieve that goal, but their choice of how to achieve it is ultimately their own. Though maybe the NPC would tell them some stipulations like 'please don't hurt any kobolds, dissuade them with diplomany'. They then still would be free to choose their method of achieving the goal, including breaking the rules the NPC set, but the NPC might not be happen if they report back to him, that they achieved their quest by poisoning all the kobolds. The quest giver might then decide to not give them their reward or only give them part of it, because they didn't do it the way that they had agreed to.
What kind of game do you want to play?
At the end of the day, the most important thing is that you all have fun. If creating adventures from you player's ideas sounds fun to you, go ahead and do it, it sounds like they would enjoy it. If you would rather have a less freeform experience, so you don't have to prep or improvise as much as a DM that is fine too. You just need to talk with your players about this out of game and agree how you want to handle your game moving forward.