I generally agree with a lot of these points, but I’m not sure I agree with using the placeholder for hints. If you put in a couple characters and forget the hint, it’s now gone. The ‘bad’ example there actually seemed better to me.
material design distinguishes between: label (the one that moves to the top when the user focuses the field), placeholder (which is visible inside the field when the user has not entered anything yet) and help text (below the text field). The label should describe the field (eg. Name, Email, Phone number), the placeholder should indicate an example of a value that one has to enter (eg. your.name@gmail.com, +01 234 56 32), and the help text should provide additional context (eg. Must be at least X characters)