Stored proc select rows and insert to destination database.
That's never going to work because that's not how Always Encrypted works. In order for Always Encrypted to be used, the client driver is what does the decryption and encryption processes, in your scenario the result set is never returned to the client driver but is attempted to be directly inserted into a different table, this will fail as it has.
I edited the public Docs article on this a few weeks ago to better help those understand this, please reference it here under 'Remarks':
Encryption and decryption occurs via the client driver. This means that some actions that occur only server-side will not work when using Always Encrypted. These actions include (but are not limited to):
Copying data from one columng to another via an UPDATE, BULK INSERT(T-SQL), SELECT INTO, INSERT..SELECT.
Triggers, temporal tables, sparse columns, full-text, in-memory OLTP, and Change Data Capture (CDC).