The Geometry Nodes solution:
It depends very much on your underlying mesh how the result looks like, but I tried to rebuild the mesh and create an example with it:
Here I simply rotate the positions around a certain axis, which I get via the cross product of the up vector and the position.
The length of the position vector I map to a certain value, with which you can influence the strength and direction of the bending.
Since I know your request more exactly, I get the vertex group and create a curve from it.
From this curve I create the decoration on the shield, but you already know that from your other question (How to offset objects in relation to the curve using geometry nodes?).