The charge on the counterion can be controlled by not giving it any basis set. So, make it a "new" atom type that has no basis assigned to it. Here's an example:
&KIND D
ELEMENT H
BASIS_SET NONE
POTENTIAL GTH-PBE-q1
&END KIND
This gives you a +1 ion, provided such a particle is placed in a vacuum. CP2K is an AO code, so it can only place electrons around cores that have basis functions around them. This is very different from PW codes like VASP.
If you request a neutral system from CP2K, and include one such "D" atom in the system, you will have a -1 slab. After all, the one "hydrogen" electron cannot be placed around D, and must end up in the slab.
You can get the opposite charge distribution by using the CORE_CORRECTION feature in CP2K to change the charge of the core of "D". But be aware that charge bookkeeping becomes tricky. For a +1 slab with -1 counterion, you must set CORE_CORRECTION to -2 (lower from +1 to -1) but CHARGE to +2. Why? Well, you want "one less" electron in the slab, but also not add the extra electron you would introduce by bringing in an extra "H". So, "not add" two electron => CHARGE +2.
Regards,
Aditya