When rendering a mist pass in cycles in a scene that contains textures with alpha, it becomes essentially unusable due to noise. All posts and solutions I could find about this seem to be outdated and not work anymore. How can I get rid of the noise without removing the alpha or removing values in between 0 and 1? Increasing transparency bounces any higher is also not feasible as it would increase render time too much.
Transparency bounces are not about "feasible" - they are about possible or not. If you don't have enough, the transparency is going to stop being transparent at some depth. So you need a lot, because you have a lot of transparent surfaces. This, however, does not seem to be the issue, since whatever number you are using seems to work. The issue is samples. You need more samples to clean up the noise. Samples tend to take longer the more bounces you have, so you could try reducing the amount of transparent and other kinds of bounces until you start seeing visible problems with your image and increasing the amount of samples you render. This is going to take time to render no matter what. You could use denoising in the Compositor just for this pass, but of course you are going to lose detail with it and with this particular situation with lots of small detail it is not going to do miracles alone. You could try building a shader to get the same result as the pass and render only this mist effect to separate view layer with material and samples override so you don't need to sample other possibly complex passes with too many samples.
For those interested in the Depth Pass ignoring the alpha transparency altogether and treating all objects like solids, here's the process: As long as it doesn't affect your other render passes, you can go to the View Layers Tab -> Passes -> Data -> Set the Alpha Threshold to zero. This will effectively make the Depth Pass ignore the Alpha of all objects that are transparent or transluscent to any degree. It will treat them as solid objects. This option is only available in Cycles. AFAIK Eevee already ignores transparency for Depth passes.
I figured out a way that works pretty well
For some reason, if you use viewport shading and select "mist" in the options, it delivers you a perfect mist pass in the viewport.
Then you can just hide all overlays (Shift+Alt+Z) and render a viewport animation to get your mist pass.