you describe 2 different record layouts that reside within the same storage 
#1 - just a name
#2 - a name + a "transferred" property

depending on the situation you use either layout #1  or layout #2 for INSERT
reading might be OK for layout #2 in both cases.

Caché once had a somewhat similar sample with Person
and Employee extending Person. 
available here: https://docs.intersystems.com/iris20241/csp/docbook/Doc.View.cls?KEY=ASAMPLES
this Repo:
https://github.com/intersystems/Samples-Data/tree/master/cls/Sample

 Guessing after the rater unclear description you are looking for Implicit Join

->  mimic an arrow in plain ASCII  does that

SELECT MySetting -> Name  from MyObj

It acts as LEFT OUTER JOIN 
https://docs.intersystems.com/iris20241/csp/docbook/Doc.View.cls?KEY=GSQL_implicitjoins   
https://docs.intersystems.com/iris20241/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_join

  • LOCK would be indeed the best equivalent to Isolation Modes
  • just IRISTEMP doesn't react to COMMIT or ROLLBACK  (there is no related Journal)
  • so instead of writing to your ^EVENT Global you may write to a PPG ^||EVENT acting as your  private temp
  • after Commit or Rollback you decide if you MERGE  ^||EVENT to public ^EVENT or not.
  • from your description, I assume you do it anyhow  

Thanks @Raj Singh  great input  !
I recently struggled with LOAD DATA and finally dropped it in favor
of an old-fashioned COS import for 2 reasons:

  • installation of Java was a prerequisite (might be mentioned somewhere, not identified) not a default in community containers
  • quality of data was POOR to express it politely e.g:
    • column expected to be DOUBLE   >> content was 
      • number 
      • $ number
      • some text
      • NULL
  • date with any sick non -SQL format
  • just empty lines by wild running \n

so some exception handling after validation would have been a great feature in my case
to filter out sick records.

The sick CSV is available on GitHub
 
 

By SQL priniciple:     
any straight name is meant to be a COLUMN of the actual table.  eg. Embeddings
but an external HostVariable is designated by an initial : (colon)  e.g.  : new_embedding_str or :params

This seems to be the deeper cause your problem

in addition I'd suggest to add  print(new_embedding_str)  to verify its format. (one of my problems.

Furthermore, take a closer look to this example:
iris-vector-search/blob/main/demo/sql_demo.ipynb