If this is duplicated just delete.
To save all of you from wasting your precious mortality looking for this in the internetz. A little community service from good ol’ yodam.
And, to bait googlers: this is also why you don’t see your gen 7 character below Passersby in your gen 6 game, while you can see any other Gen 6 character. Try it by yourself if you haven’t yet.
This is a game thing and not a Citra thing. Generation 6 games (anything on 3DS before Sun and Moon) can trade between them, but not with generation 7. This is by design (blame game devs). Only way to transfer generation 6 to 7 is by using Pokemon Bank, a service by Nintendo, and yes, you need a real 3DS.
This is old news, but If I wasn’t aware you may too.
Now, is using PKHeX to simulate a transfer, cheating or unfair in any way to other players when going online?
Good moral question. Even if you clone the exact PokeMon without boosting its parameters in any way, you still are duplicating an ID. Even if you promise to yourself you will never use again the one you have in gen 6 save, it exists there and you may forget in the future. Not that you can connect to official game servers anyways, and probably nobody in Citra community cares about duplicated IDs when battling online, as long as they are only the IDs.
Note that PKHex destroys the game experience if abused. Story is already too easy. Part of the fun in battling other players is in preparation and breeding. So you can presume that you got that Pikachu with perfect Ivs because you know your breeding sh**.
If you just want to test strategies and team builds, without the rest of the experience, there is https://pokemonshowdown.com/