> The weird thing is that I get a different key when accessing the Pi over the internet instead of via LAN:

Manual page for `sshd` describes format of your `known_hosts` file:

> **SSH_KNOWN_HOSTS FILE FORMAT**

> Each line in these files contains the following fields: markers (optional), **hostnames**, [...].  The fields are separated by spaces.

Se we got to the first answer. The first field is `hostname`, which is obviously different when you connect from outside or from inside, as proposed in your question.

Further we can read

> Alternately, **hostnames may be stored in a hashed form which hides host names and addresses** should the file's contents be disclosed.  Hashed hostnames start with a ‘|’ character.  Only one hashed hostname may appear on a single line [...]

Yes, your hostnames/ip addresses are hashed.

-----

> But when I ssh into my Pi and execute the same command [...]

The new versions are using SHA-256 hashes instead of the obsolete MD5. You can force the new version to generate you the old fingerprint using:

    ssh-keygen -l -E md5 -f /etc/ssh/ssh_host_ecdsa_key.pub

Conversion between these two formats are possible, but not useful. Using `ssh-keygen` directly as I proposed above is advised solution.