Help to attach meshes to main object seamlessly, while keeping them separate for animation

hello, i’m posting here because i’ve been trying for a long time now to look for resources myself but haven’t found anything that works and i likely need the insight of someone experienced.

i am making, essentially, a Mr. Potato Head, as shown here: http://prntscr.com/udc6hj

i would like all the parts to be seamlessly attached to the potato, while still being able to rotate them around and animate (i want them to slowly form a face.)

i have attempted several methods already.

method #1 i used a boolean union to combine all the elements into one object. this lets me sculpt it again to make it look very nice. however, the problem is it becomes a massive headache for how i will animate the actual parts afterwards, and i’m not even sure how it would be possible.

method #2 i’ve tried to use a shrinkwrap modifier with vertex groups on the edges of my mesh, and then attaching it to the main object (and adding a data transfer modifier on normals to make it look better - as i was following a tutorial for it.) however, it always looks bad regardless. i’ve tried to clean up the topology i want to attach as i suspect this is the issue, but i haven’t managed and don’t properly know where to start for it. it ends up looking like this: http://prntscr.com/udc6c6

are there any other methods to do this, or if not, any suggestions on what is needed to make these ones work?

thank you for your time.