I want to report that I have solved my issue. Here is what I did. The following information is correct as of March 2020, except the part about T-Mobile which was current in fall 2019.
First, some background.
I had previously validated myself with Capital One. So I had a working password, but I could not log in, because when I tried to log in, the Capital One site would ask me for a US phone number to send a verification code, or make a verification call to. And I had no such number. A regular US phone number is a very expensive solution if one is outside the US, and only needs a phone number to receive an occasional SMS. And many US phone carriers don't allow international service of the kind required, anyway. And if they do, they probably don't do so at a reasonable cost.
T-Mobile is probably one of the few that does. I spoke to a USA T-Mobile rep last fall (fall 2019) from T-Mobile, who said this was the cheapest plan that would allow me to receive SMSs outside the USA: "T-Mobile : Unlimited calling and texting T-Mobile plan USD 20 / month. Calling is US domestic only. Texting is unlimited international." However, this information will clearly date quickly, and may already be out of date.
The other option was a VOIP/internet phone number. However, US banks (including Capital One) like to use SMS short codes to send SMSs to customers. So a requirement for such a number is that it should support receiving SMSs via short codes.
After some checking, anveo.com was one of the few VOIP/internet phone services which supported short codes. And there were also scattered reports of people using Anveo with success to do 2FA with US banks including Capital One. However, there were mixed reports about its customer service quality.
So I purchased a phone number from Anveo. Their system is that you have to pay in advance to obtain a credit, and then the amount is deducted from your credit. To set up a new mobile phone number, as of March 2020, there is a one-time cost of USD 10, and after that it costs USD 2 per month for the basic plan, which supports receiving SMSs (USD 0.01 per incoming SMS). Their system wasn't particularly smooth. First, I could only purchase a block of credit, with a minimum of USD 15, and then USD 25, 50, 75, in jumps of 25. And I could only purchase it via Paypal. I talked to a customer service rep, and he said there was no option other than Paypal, and I could not charge it over the phone. Then Paypal had a problem with me trying to use a US credit card in India, so I finally had to use a VPN to make it look like I was in the US. And then Anveo asked me to verify that I had made the payment by sending them a photo of my ID, as well as a video of myself holding the ID and saying that I authorized the payment. I used my passport. I appreciate that all these security checks may have been a good idea, but it did feel a bit like running a gauntlet.
Note that there are a lot of other providers, including free ones. And it's possible that others would work. But I went with the one that seemed the most likely to work. If you already have a Google Voice number, that may be a good bet, though I'm not sure what the current Google Voice support for short codes is like.
Furthermore, when I tried to use the new phone number to log in, I could not initially do so. When I tried to log in with my password, it asked me for a phone number to send an SMS or make a call too. When I added my new number, it rejected it. So I had to contact Capital One customer support.
Because I wasn't able to log into my account, I had to go through another session of verification with Capital One before they would add the new phone number. But once I added it, I was able to use it to log into my account.