Hm sorry, i didn't clarify it well.
Can initialization syntax be used to assign to something, that is not a property, but a regular field?
Yes, it can.
Is it usefull for immutable structs?
Sadly no.
You could still use reflection (either using Activator which is really slow, or compiled ExpressionTrees which is overkill) to assign to private fields without creating every possible constructor.