Which operation combines {f,g,h,...} and y[u,v,w,...] to get y[f[u],g[v],h[w],...]?

Using Mapthread

innerMap[funcs_, expr_] := Head[expr] @@ MapThread[#1[#2] &, {funcs, List @@ expr}]
innerMap[myFuncs, expr]

y[f[u], g[v], h[w]]


Inner[# @ #2 &, #, {##} & @@ #2, #2[[0]]] &[myFuncs, expr]

y[f[u], g[v], h[w]]

or

Inner[Construct, #, List @@ #2, Head @#2] &[myFuncs, expr]

y[f[u], g[v], h[w]]

Also

Construct @@@ Thread[{#2[[0]] @@ #, #2}, #2[[0]]] &[myFuncs, expr]

y[f[u], g[v], h[w]]

and

Operate[Apply[#]@*(Compose @@@ Thread @{myFuncs, {##}} &) &, expr]

y[f[u], g[v], h[w]]


MapIndexed[myFuncs[[#2[[1]]]][#] &, expr]

or

MapIndexed[Extract[myFuncs, #2][#] &, expr]

or

ReplacePart[expr, i_ :> myFuncs[[i]]@expr[[i]]]

or

expr // Query[Thread[Range@Length@myFuncs -> myFuncs]]

or

Head[expr] @@ Array[myFuncs[[#]]@expr[[#]] &, Length@expr]

or

Head[expr] @@ Construct @@@ Transpose @ {myFuncs, List @@ expr}