This is my experience, which may be completely different to yours.
If you are working on a machine on site there is always a small crowd that forms and they love to watch every button press you make, including passwords. You can try to shield the screen, or get sneaky, but there is always a risk. Then it is never Bubba that knows the machine standing next to you, he could be useful, it is Bubba's boss who just thinks he knows the machine and he will rattle off 15 suggested fixes a minute. None of which are useful, all of which disturb you concentration.
We use remote access to Red Lion HMIs and it is extremely useful, you can be in your car in the car park figuring stuff out, or even back at the office. But again whatever you do on screen is being watched and if Bubba's Boss sees a screen that he hasn't seen before he will do everything in his power to get access to it. He can't see the password if you use your laptop keyboard to enter value, but he knows that there is something there to find. We played with switching off the HMI backlight, but it doesn't always work, and you don't always remember to switch it back on again.
So using the facilities that are available we decided to use the web pages in the PLC or HMI that the engineer can access from the car park. Bubba's Boss doesn't even know that you are on the system, the HMI screen never changes, nobody sees a password being entered. The web pages aren't used by anybody else and are designed to be viewed on a phone screen. They can have hints, tips and reminders on them that make the engineer look like a genius. The Siemens PLCs have inbuilt diagnostic screens, so you don't even have to open the box to know what the PLC is doing. There is a caveat with the PLC or HMI webpages, I prefer to have them as 'read only'. At some point someone will get access to, and will change something they shouldn't. Everybody denies responsibility, and the question always comes up “could someone have changed the value remotely”. I don't have a face that is good at telling lies, so a definite “No” needs to be true. After a few mysterious value changes we now have the systems email out the current setting whenever someone accesses the Factory screens.