Symmetry & MPC's

I assume that by MPCs, you mean rigid body constraint. Indeed, it can’t be applied to nodes with boundary conditions. And a way around it is exactly what you described - create a node set including surface nodes and deselect an edge/face on which overconstraint would occur. This is often done for cyclic symmetric models too in order to avoid conflicts between rigid body constraints (used e.g. to apply torsion) and slave nodes of the cyclic symmetry tie constraint - see this thread: Cyclic symmetry

So the key is to create a node set first and then select it for boundary condition definition:

The same approach is sometimes used in Abaqus too.