I use a similar setup in my example in OEX ,
Especially with TO_VECTOR() I ran into problems if I didn't add the explicit
type and size of the vector.  e.g. TO_VECTOR("..........",,DOUBLE,384)
as model all-MiniLM-L6-v2  produces exactly that type and size:

Don't ask for why. I just used the proposed example

experimenting with class %Library.Vector I found an unattractive way:

;; compose JSON array  >> v
USER>zw v
v=[($double(.5)),($double(1.5)),($double(2.2000000000000001776))]  ; <DYNAMIC ARRAY>
USER>set vec=##class(%Vector).OdbcToLogical(v)
 
USER>zw vec
vec={"type":"double", "count":3, "length":3, "vector":[$double(.5),$double(1.5),$double(2.2000000000000001776)]}  ; <VECTOR>

Applying OdbcToLogical  was really shocking

Hi al!,
Just returning from some private troubleshooting I'm deeply moved and thankful for this feedback.
It's once more a motivation to continue my activities.
Sometimes I'm insisting on small pieces that may bypass general attention.
Though servicing customers - and I understand you all as my customers -
requires to take care also of the small and often annoying pieces. 

Special big THANKS to the brilliant team behind the DC+OEX+GM facility.
YOU ARE GREAT. 💐🌷🌺🌸💮🌼🌻