It feels like neither's a complete solution: on the touch bar you see what touching a button would do, but you have to look, and even then you don't know if you've touched it since there's no feedback.
On the keyboard, you don't know what a key would do in a given situation.
It's not necessarily true you have to look. BTT lets you define actions for sliding 2/3/4 fingers left or right on the entirety of the touchbar. You can set it up to change volume, brightness, ctrl+tab, change the size of a drawing tool, undo/redo, whatever. It works anywhere on the strip, so it's very forgiving.
I actually only just now thought of mapping 3-finger swipe to undo/redo. I've only been messing around with it for five minutes but it's kind of nice, honestly! It's better than cmd+z when you need to undo/redo more than once, because it bypasses the key repeat setting.
you do have feedback with the touchbar! As I recently learned, the trackpad click isn't really a click. It can be triggered by software! And bettertouchtool has a specific action for "touchpad haptic feedback". That means you can trigger a touchpad click when you tap a touchbar button, and it perfectly fine as feedback.
Yes you do have to look. I'm not recommending touchbar actions for things that you do so often that it's a problem (though I have a big button to switch between firefox and vscode, big enough that I don't have to look). But it's not like I was using fn keys without looking either
On the keyboard, you don't know what a key would do in a given situation.
Sounds like we need a third option.