There are two separate issues at play here, which is where you are getting confused.
page--front.html.twig - this is a template suggestion for the
page theme hook. This can be seen by the double-hyphens that follow
page theme hook is used to wrap the content of every page on the site, using the
page.html.twig template. Drupal's theme layer allows for creating suggestions for templates that take precedence over the base template. In this case, when on the front page, the site looks for
page--front.html.twig, and if it finds this file, it uses it. You have created this file. However, you'll notice I said this template wraps the current page content. That leads to:
2) Page content. 'Pages' on Drupal show content if a page has been assigned to the given path. However, if a user goes to a path that doesn't exist, they get the 'page not found' page. This page is wrapped by
page.html.twig, just like any content page.
When you go to /front, you see page not found, because you have not created a page at that path yet. You've only created a template for the front page, whatever that may be (even if that ends up being page not found).
You can test this by creating a new node, and setting the path to be
/front (note - you'll need appropriate permissions for this). Then set the site front page to
/front, and your template will be picked up.