The main ideas with Kanban is to visualize your work and to limit work in progress. This allows you to maximize flow while at the same time see where you have bottlenecks.
If you started work on something that now needs to stop for whatever reason, you need to remove it from your work in progress. What you do with it depends on what exactly you want to discover about your process.
For example, you might move it to the backlog to just sit there. If new information becomes available you just pull it back in progress when you have the capacity to handle it and it's a priority. Another approach would be to create a new column in your Kanban board named "Blocked" or "Waiting" or whatever and move it from your "In progress" column there. You might also set a WIP limit on this new column if you are, like I mentioned, interested to discover more things about your process. If you find that the new "Blocked"/"Waiting" column often fills up and hits its WIP limit then maybe you should ask yourself why that is. Maybe you find out that many of them are bugs, or that many are just awaiting new information, etc. Then, you might improve the code, improve your process, try to increase collaboration with end user, or whatever conclusion you reach. When you can work on the items again you can pull them back "In progress", or maybe you might move some back to the backlog and replace them with other things that are in the same state but now have a new priority.
There isn't really a hard rule for how to handle such work items. It depends on your process, your priorities, and if you want to discover why they happen and what you can do to fix it. Having work started on things only to then put it on hold because you can't reproduce it, or because people change their minds can cause waste. Think about "what" you want to achieve, then you will figure out "how" to deal with these items.