If you haven't applied any of the transforms on your duplicate, pressing Alt+G should put it back where the original object was. Repeat that shortcut replacing G by R then S to cancel object rotation and scaling.
On the other hand, if you have applied transforms (with Ctrl+A), or selected all vertices then moved everything in edit mode, or moved the ...
When Project onto Self is disabled, you can only snap to geometry of other objects.
It's useful when you go to Edit mode with multiple objects at once.
Notice I can only snap to the other object's vertices unless I enable Project onto Self.
Make sure to have more faces on the donut than on your icing.
You can do this by adding a subdivision subsurface, you don't have to apply it.
If this doesn't work as well, you can use the shrinkwrap modifier. Make sure this is below the subdivision subsurface modifier.
Go to the modifier tab and add a shrinkwrap modifier. You will also need more verts on the ...
A number of ways of doing this, but here's one that should preserve all the relationships in your origami. It looks from your picture as if all the folding parts of the model are separate objects, with their origins on the folds, all parented to a static part, with its origin off-plane.
In brief: parent the existing origami-hierarchy to another object ...
In this example, 'Snap With' is set to 'Active' and 'Snap To' is set to 'Vertex'.
The snap has been set to 'Project onto Self', and set to work in translation, rotation, and scale.
The Pivot has been set to '3D Cursor'.. although of course, that wouldn't matter if you were just translating..
In the illustration, the active vertex starts off as the one at ...
I won't mark it as answered because maybe there are some other ways to achieve this which are more accurate.
My solution finally has been to try different modes on the Shrinkwrap modifier (mostly Project and Closest points, with Outside surface option selected), and moving the curve until I get something close to what I need.
Once got that, I would Convert ...