### Body

Similarly to SFTP (fixed in https://github.com/apache/airflow/pull/29068) the logic from __init__ should be moved to execute.

The #29068 provides a blueprint for that.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
dag = DAG(dag_id="unit_tests_ftp_op_arg_checking", default_args={"start_date": DEFAULT_DATE})
        
        task_0 = FTPFileTransmitOperator(
            task_id="test_ftp_args_0",
            local_filepath=self.test_local_filepath,
            remote_filepath=self.test_remote_filepath,
            operation=FTPOperation.PUT,
            dag=dag,
        )
        task_0.execute(None)
        assert task_0.ftp_conn_id == DEFAULT_CONN_ID
        
        with pytest.raises(TypeError, match="Unsupported operation value invalid_operation, "):
            task_1 = FTPFileTransmitOperator(
                task_id="test_ftp_args_1",
                ftp_conn_id=DEFAULT_CONN_ID,
                local_filepath=self.test_local_filepath,
                remote_filepath=self.test_remote_filepath,
                operation="invalid_operation",
                dag=dag,
            )
            task_1.execute(None)
    def test_unequal_local_remote_file_paths(self):