How to make subprocess & migration_lookup plugins behave consistently with single and multiple items arrays
This is just guessing, but you could try forcing the multiple flag on the source field using the multiple_value plugin from Migrate Plus:
field_behaviour:
  -  
    plugin: multiple_values
    source: behaviour_array
  -  
    plugin: sub_process
    process:
      target_id:
        plugin: migration_lookup
        migration: import_behaviours_json
        source: name