How to Put More “Character” into Your NPCs
I think another thing that could help make it feel more immersive would be a bit of unreliability or incompleteness in information gathered from NPCs. Why does every villager know that there is a legendary mirror in the Fire Mountains that can block dragon flames? Were they all at the meeting where that was clearly and repeatedly announced? Maybe instead they could be saying things like "I hear theres some legendary weapon in the Fire Mountains". "Mabel told me she heard about a a magic mirror that drives away dragons". "An adventurer came from the mountains the other day and mentioned a magical shield against dragons". Now the player knows they should hunt for something to fight the dragon, but what it is isn't clear. Perhaps the full info will come from an important NPC later.