Building up DFN’s answer, I think you want the following:
struct T
a
b
end
f(;a=0, b=0) = T(a ,b)
g(foo, s) = foo(;s...)
r = g(f,(a=2,))
Note that (a=2,) requires a comma because there is only 1 element. Otherwise, the parentheses are omitted. Also, I removed the splatting on s in g