My daughter (2 yr 9 mth) had some stain on her front teeth before, too. Last month, i took her to a dentist to check for her teeth and the dentist wash off the stain for her as well. It only cost me not even $100 dollars. (But the charge depends on different dentists la)
Because even baby like 2 to 3, they need to go to dentist to have a regular check as well. You may consider this. It is a one stone 2 birds method, you can understand if their teeth are healthy and the stain can be washed off. It only took a few mins for the whole process.