The main purpose of a "hyperlink" is to allow the user the ability to move from one link to another. When a user clicks on a link, they are expecting to be taken to another page. The user experience in your scenario is someone on the home page looking to go to faqs or something similar, but what it ends up feeling like is a page refresh, and a message popping up saying that the page couldn't be found.
The issue is how you're going to let the user know through this "popup"? A message popping up could take up valuable screen space or detract from the aesthetics of the graphic design. I've encountered your solution a few times and all of them had a bright, off color that completely took away from the graphic design of the website. A real pop-up could be annoying. So, an easy solution is to lead to a 404 page which tells the user that the page they were traveling to is actually broken, so the next clear step is to take a step backward. Plus, a lot of these 404 pages are very playful in manner, which helps with branding/image/reputation of the company. IIRC, back in the day Youtube (and more currently, Mailchimp) showed a page that was like, "Oops, the page you were looking is broken, but a team of monkeys are about to go bananas on it and get it back up for you!"
I understand where you're coming from, and have seen what you're suggesting in practice before but in my experience it's slightly more annoying to see a page "refresh" and totally off-color bar (since you have to really work to get the user's attention) at the top telling me the page I was looking for is broken.
Hope that helps explain the industry standard a little more! :)