You could do this with either the Control nodes using buttons as you suggested or you could use the
TouchScreenButton 2D node. You'll need sprites for your controls if you use
TouchScreenButton. For quick prototyping, I'd recommend using Control buttons, since you can edit their appearance much more easily.
Both options do use signals. such as
pressed(). If you need a tutorial to help you, there are several on YouTube, such as this one.