Hi this is a very high level issue that might have many subtasks.
gpg --expert --edit-key and gpg --full-gen-key --expert lets you chose to generate with existing key from card.
Kleopatra should support for all smartcards that it supports to have the option to generate either an OpenPGP key or an S/MIME CSR to the keys for that card.
Technically all of that should be there but needs the usual plumbing :-/
I think we need to have this for existing cards but also it might be nice to have something like that in a new newcertificatewizard ;-)