Latest build
Minecraft 1.12.2 (Paper)
HologramTrait trait = npc.getOrAddTrait(HologramTrait.class);
trait.addLine(customNPCType.getName());
npc.spawn(location);
npc.data().setPersistent(NPC.Metadata.NAMEPLATE_VISIBLE, false);
When I connect to the server first, all nicknames are hidden. But when the second and more player connects, all the original NPC nicknames appear and there is no way to hide them (even with the /npc name command).