I have had success in two different ways. I found your question because I wanted "sub_process" to "key" my string value into an array, so it goes into a specific property on the field, not the default property.
field_categories:
-
plugin: multiple_values
source: remote_categories
-
plugin: migration_lookup
migration: my_existing_taxonomy_migration
-
plugin: skip_on_empty
method: process
message: 'Migrate lookup failed, or no value passed!'
-
plugin: explode
delimiter: 'StringThatShoudNotExistIntheValue'
-
plugin: sub_process
process:
target_id: '0'
Alternative method without sub_process (but will runs a process for each value).
field_categories:
-
plugin: multiple_values
source: remote_categories
-
plugin: migration_lookup
migration: my_existing_taxonomy_migration
-
plugin: skip_on_empty
method: process
message: 'Migrate lookup failed, or no value passed!'
The explode() just casts the string of each array element into a array [0 => $value], then we use sub_process with target_id: 0 to key by the first/0-th element (which is $value).
The skip_on_empty is there for sanity check but is optional.