After several vexing weeks, I figured out how to get around this annoying bug.
After updating to iOS 10.3, my iPhone 7 prompted me to enter my iPhone passcode. No problem. Then it asked me to enter my "old passcode." The problem is, this device has never had any other passcode. I tried entering the correct passcode again, but got an error saying "verification failed" and I got the ominous "1 failed passcode attempt" warning. Since I have my phone set to wipe all data on ten failed passcode attempts, I was wary.
I tried entering my passcode that I use on my iPad because it's a different passcode. That also failed, like I thought it would. Just below the six white dots representing the digits of the passcode, it says "Forgot iPhone Passcode?" I tried that. This opened a screen giving me the option to enter my passcode for a different device. Curiously, the list showed both my iPhone (the one I am using) as well as my iPad. I selected the iPad, and the screen prompted me to enter my iPad passcode. When I did, I got the "verification failed" message again, and it returned me to the screen which listed my iPhone and iPad. I figured I had (almost) nothing to lose by selecting my iPhone, even though I had already tried entering my correct iPhone passcode as noted above. When it prompted me to enter my iPhone passcode, I fully expected it to ask me again for my "old" passcode, but miraculously, it didn't. Instead, my iPhone signed into iCloud and now everything is good.
That resulted in an error saying I had too many incorrect passcode attempts, and that I would be locked out of iCloud, the App Store, etc.
Summary:
1. Enter current password when prompted
2. When it asks for your old password, touch "forgot password"
3. On the next screen, select the device you are trying to sign into
4. Enter your current password
5. You should be logged into iCloud