Take yourself out of creative and you'll find that isn't always the case. The reason this extends teleport is because it's when they actually get teleported. entity_enter_portal should fire before this.