^ Definitely go through the docs and tutorials first to get a hang of the basics, but on top of my head I'd do...
1. A plate or pancake appears. - Since it's purely visual, it could be a simple "slide into view, slide out of view" animation that you play every time you want a new plate (see: https://docs.godotengine.org/en/4.4/tutorials/animation/introduction.html)
2. A whipped cream piping tool follows the mouse/touch. - Should be as simple as "tool position = mouse position", which if I remember right you could do in both _input or _process (see: https://docs.godotengine.org/en/4.4/tutorials/inputs/mouse_and_input_coordinates.html)
3. When the player holds a button or presses, - again, read through the docs/tutorials for Input
Assuming you want to "draw" the cream where the cursor is, not to have it fall down:
cream is “piped” onto the pancake. - This I'm not sure about, spawning a cream sprite on every frame would probably tank performance quick. Maybe particles can be used but I'm not experienced with them. You could add a simple drawing tool and just set the color to white (example: https://github.com/godotengine/godot-demo-projects/tree/master/gui/gd_paint).
4. After release, the game evaluates how well the cream is placed. - How do you define what "well placed" is? How do you calculate it? If you want the player to "draw" within boundaries to succeed, maybe have a CollisionPolygon2D (which will be the boundary) and as long as the mouse is pressed, keep track of if the mouse position is inside the boundary or outside. This would need more math/checks so you can't just cheese it by holding the mouse in one place. This is the kinda thing I'd wanna think through and figure out on paper before I try to code it 😃
5. Player gets feedback or score. - Create some Labels, hide them at the start of a round, write values to them and show them at the end of a round... This is basic stuff you should know how to do after looking through the introductory docs.