I tried to write this without looking at the keyboard, while usually I look every now and then. Worked quite well. I guess it is about forcing the habbit of reassuring yourself of pressing the correct keys to stop. I made lots of typos, but removing and writing again, I could get rid of them.
1) I learned to type as a kid at the same time that I was getting into programming. So my typing style tends to optimize for quickly hitting numbers, operators, random punctuation characters, and editor movement/selection/command sequences every bit as much as ordinary letters. (And therefore, I tend to find obsessively staying near the home-row less useful.) I find that I type a little slower at pure linear prose, but a little faster at code than many classical touch-typist.
2) Since I was a self-taught typist who learned to type on a computer keyboard, rather than learned a formal touch typing method that was originally designed for typewriters, I've been comfortable since the beginning with backspace being available. It always used to annoy me whenever I had to take a typing class in school where they emphasized accuracy and dinged my typing speed an arbitrary constant amount for each typo. I can usually sense immediately by feel when I've hit the wrong key, smoothly hit backspace, hit the correct character, and then continue with almost no interruption to the flow of my typing. I usually don't even consciously think about those sorts of corrections.
I touch-type, but still occasionally struggle with some things eg. using the right shift key instead of always preferring the left. I don't see much benefit in addressing this, since my typing speed is never the blocker with regard to my programming output.
I always gave up after about a week, I've tried it twice or three times during the last 25 years. Like always, good (fast) enough beats perfection. And I'm a mathematician and programmer because I'm lazy :D