(Understanding)Problem with cover()->toFile()

From the starterkit I’ve integrated the “notes” area to my website - everything works perfectly.
Now I want to use the cover image for the prev/next navigation.
From other pages that I create with other templates, I would like to display the cover image as well.
The cover is listed correctly in all .txt. files (e.g. “Cover: - file://3W6cmG4TE4a3RQAP”).

From the “notes” area, I can only retrieve the cover with this:

<?php if ($cover = $page->prevListed()->cover()): ?>
<img src="<?= $cover->crop(100, 100)->url() ?>" alt="<?= $cover->alt()->esc() ?>" />

From my other templates only with:

<?php if ($cover = $page->prevListed()->cover()->toFile()): ?>
<img src="<?= $cover->crop(100, 100)->url() ?>" alt="<?= $cover->alt()->esc() ?>" />

Why does “->toFile()” not work when reading from the Notes template, although the cover image was written correctly in the .txt files?

->toFile()) is also used here:

The note page type has a page model, where cover is defined as a method, see /site/models/note.php(same for album model in the Starterkit).

 public function cover()
    {
        return $this->content()->get('cover')->toFile() ?? $this->image();
    }

Thank you for the explanation. Now I understand the context better.
How can I display the cover from different templates for prev/next navigation? I don’t have a page model for each template. I am also unfortunately not very familiar with page models so far to implement a solution with them. Currently I use two different snippets, which adds additional complexity.

I have now chosen the following solution:

    public function cover()
    {
        return $this->content()->cover()->toFile() ?? $this->image();
    }

I removed this code from the page model and added ->toFile() to the template. So the structure is now identical in all my templates and I can retrieve the cover with only one snippet.
However, with your explanation you helped me, so I could locate my problem.