I'm unclear on what you're looking to do. You say you want to copy messages to a local folder, but that you don't actually want duplicates. Are you saying that you want to have the same e-mail referenced from two different places, and that when you eventually delete it from the server you want it automatically copied to the local folder, but not actually stored in that local folder until it's deleted? If so, that's not possible.
Smart mailboxes are only saved searches, essentially. Messages are not stored in smart mailboxes, and smart mailboxes do not move messages anywhere else. Rules can move or copy messages, but they can only be applied automatically to incoming, unread messages. You can apply a rule to selected messages manually, but there's no way to automatically run a rule when deleting a message.
Perhaps if you could give more details on what you want to accomplish we could provide some alternate solutions.
Okay, I think I understand better now. So I just ran a test, by creating the following rule:
I specifically chose an address (obviously not the one shown) that I had a message from in my Inbox, and a word that was present in the subject line of several messages in my Inbox. When I ran this rule on my Inbox, it copied exactly the messages I would have expected into the test mailbox. Are you seeing different behavior with the same rule, or is your rule constructed differently?
If the difficulty is with running the rule, note that (as I said earlier) rules only run automatically on unread incoming messages. It won't run automatically on existing messages or on messages on an IMAP mail server that you have read on another device using (in which case they will have been marked as read). If you need to run this in such conditions, you'll have to either run the rule manually or run it via an AppleScript or something similar that is somehow (via something other than Mail) made to execute at certain times/intervals or under certain conditions.
And you're correct, a smart mailbox would be totally inappropriate for what you're trying to do! It would behave exactly as you guessed.