Right, thanks. I can see what's going on.
Joplin in a Snap (Or Flatpak) can't see what's installed on the host by itself. It asks the OS to mediate, so it's the OS that shows the "open with" dialogue, not Joplin itself. After a certain amount of times the OS stops bothering asking what application to use and simply uses whatever it considers default (based on clicking ok on the same application repeatedly), and it's not obvious how to change that since it isn't then exposed in any UI.
I'll ask the snap devs to consider this once I'm a bit more sure the exact mechanism that's going on, but it would likely effect every snap that exists, so it's something worth tackling as a UI issue, but outside the scope of Joplin itself.