{}
makes it possible to specify a "special" variable name only. To access an object's properties inside a string, you need to use a subexpression @(), like
"Setting: $($setting.Node.key) = Value: $($setting.Node.value)"
Subexpressions are evaluated before string creation, so they will be replaced with the values of the script inside $()