A API do formulário do Drupal possui proteção CSRF integrada, portanto, o envio de um formulário de um domínio externo não funcionará. Você pode desativar a CSRF (péssima ideia) ou, como sugere, usar o módulo Serviços.
Não existe um mapeamento individual entre o módulo de serviços e os formulários no site, em vez dos módulos implementarem recursos para determinadas tarefas serem consumidas de um cliente externo. Você obtém nó, usuário, termo de taxonomia e provavelmente outros por padrão. Portanto, você pode (por exemplo) adicionar um novo nó / usuário / termo, mas enviando solicitações xml / json / etc ao servidor após a autenticação, e não enviando um formulário como tal.
A obtenção de dados funciona da mesma maneira. Você pode usar os Serviços para fazer isso ou, se conseguir gerenciar / não precisar de sua própria autenticação, consulte a resposta da indrock para um bom método.
Os serviços são muito extensíveis; portanto, mesmo que o módulo de respostas não implemente recursos, é uma tarefa muito fácil adicionar suas próprias funções que envolvem as funções da API a partir do módulo de respostas (ou qualquer outro).
A documentação dos serviços provavelmente seria um bom ponto de partida.