wallet_import_private_key has 4 arguments:
(wallet closed) >>> help wallet_import_private_key
Usage:
wallet_import_private_key <wif_key> [account_name] [create_new_account] [rescan]
Loads the private key into the specified account. Returns which account it was actually imported to.
Parameters:
wif_key (wif_private_key, required): A private key in bitcoin Wallet Import Format (WIF)
account_name (account_name, optional, defaults to null): the name of the account the key should be imported into, if null then the key must belong to an active account
create_new_account (bool, optional, defaults to false): If true, the wallet will attempt to create a new account for the name provided rather than import the key into an existing account
rescan (bool, optional, defaults to false): If true, the wallet will rescan the blockchain looking for transactions that involve this private key
So, to import the key into an existing account you have to do what you have already tried.
If you want to create a new account with an existing key, you have to set the third argument to true (and usually also the fourth).