Thanks for looking into it for me. That's a weird bug! The behavior you're describing sounds similar to a bug we ran into when refactoring that we solved by switching from using the portal's transform.position to using it's global_position instead. I'm wondering if somehow Godot on Librewolf isn't handling global_position correctly. I'm not at all familiar with the engine internals so I couldn't tell you.
Anyway, thanks again. Excited to check out Forespend when I have some free time.