For years, Spectator Mode's capability to bypass TPToggle has been a well-known issue and is the main reason why the game mode is not available for operators. I'd like to propose a possible solution to that problem.
With ProtocolLib, we should listen for packets about teleporting to other players through Spectator Mode. Then, we could use the EssentialsBridge in TFM to check if the target player has their teleportation enabled. If they don't and the player trying to teleport is not an admin, it would reject the packet and tell the player that the target has their teleportation disabled.
This solution would be better than using the events in the Spigot and Paper APIs because instead of completely disabling teleporting to people via Spectator Mode, it directly addresses the issue on hand and is much less restrictive as a result.
What do you think?