It depends on what you mean by duplicate particles. If you connect multiple stacks of particles to the input of any job, any duplicate particles with the same UID will be filtered out. Check out this post for more information:
It’s important to note that these jobs only detect duplicate particles by checking for duplicate IDs, and they don’t actually compare the particle locations on the micrograph. For example, if the same particle is picked twice, it will get assigned two unique UIDs, and the duplicates won’t get filtered out. You will have to filter out the duplicates using a Remove Duplicate Particles job and specifying the minimum separation distance that must exist for two particle picks to be considered unique particles. As you mentioned, jobs like 2D classification also give you the option to specify a minimum distance between two particles.
If the duplicate particles are the result of a symmetry expansion, these particles cannot be used for any global refinement (heterogeneous, homogeneous, non-uniform). The only jobs that properly handle symmetry expanded particles are local refinement, 3D classification 3DVA, and 3D Flex.
You can find some more helpful information in these threads: