How to make Kurzgesagt style smoke (translucent moving circles that don't overlap)

I'm trying to replicate the smoke in this Kurzgesagt video scene using Blender (from seconds 0:07-0:12)

https://youtu.be/h6fcK_fRYaI?t=7

The smoke columns are basically different circles of a translucent material that move over time. Different smoke columns overlap in color, BUT the same smoke column doesn't overlap. How could I make a smoke column, that has different moving circles (all with a translucent material) but that are somehow joined and don't overlap? Since they are different circles I don't know how to do it in a way that the materials don't overlap... Thank you in advance!

Create a material combining two voronoi textures! Tune the circle size with the Less than value, also play with the Voronoi scale and the texture coordinate etc. Use the clamp to overlap circles.