Summary: Problem with the password change facility in Desktop/Preferences/Raspberry Pi Configuration when using the $ character, (maybe others as well). This does not appear to be a keyboard set up issue.
I set up 2018-03-13-raspbian-stretch on a Pi3B+ and couldn't understand why I couldn't log in as user pi after changing the password using Desktop/Preferences/Raspberry Pi Configuration. I initially assumed finger trouble and reimaged the microSDHC card. Same problem. So after various experiments I came to the conclusion that the problem was the use of the $ in the password but only when using Desktop/Preferences/Raspberry Pi Configuration to set this up. Before you ask, yes, I checked the keyboard was producing the correct characters. The final set of tests to demonstrate this problem were as follows:
Test 1. New image, boot up for the first time and change the user pi password using Desktop/Preferences/Raspberry Pi Configuration - the password included numbers, upper case, lower case and @ and # characters but not $. Password confirmed successfully changed. Reboot and confirmed ok to log in with this new password.
Test 2. Using a terminal window, changed password using sudo passwd pi. The password exactly as in previous Test 1 but with a $ added. Password confirmed successfully changed. Reboot and confirmed ok to log in with this new password.
Test 3. Using Desktop/Preferences/Raspberry Pi Configuration, change the password to include numbers, upper case, lower case and @ and # characters and $. The password had to be changed to a reasonable degree to avoid being rejected as too similar to previous passwords but this new password did include the three special characters as used in Test 2. Password confirmed successfully changed. Reboot and confirmed could not log in with this new password.
So the problem seems to be that even though the keyboard is set correctly and not transposing characters, the password change facility in Desktop/Preferences/Raspberry Pi Configuration seems to have a problem with the $ character (and maybe others). As proven by setting the password with the $ character from a terminal window.
I think I saw this when previously setting up the same image (2018-03-13-raspbian-stretch) on a Pi3B but ignored it as finger trouble and probably decided to use a new password (which didn't have the $) - I wasn't taking notes so it's a bit hazy but I'm working on the basis that this is not a Pi3B+ issue.
FYI, the 32GB microSDHC card is cleaned up using SDFormatterv4 and the image is written to the clean card using win32diskimager-1.0.0. I tried with two different microSDHC cards from Sandisk and Transcend.
So I have a workaround but want to figure out why this is happening. Any ideas?