As well, IANAL - so I'd recommend consulting with an attorney that specifically understands or specializes in software intellectual property issues.
But, I think the answer is fairly straightforward:
1. I don't think there is any need to discuss the term "open source" with the client (read forward before forming an opinion on that statement)
2. In your contract, you clearly need to state the following:
a. Any work you create for the client you JOINTLY OWN and each can create derivative work products. This means you each can use it as you see fit, including contributing to an open source project (consult the open source project's IP requirements of course).
b. You retain ownership of any pre-existing work product that you are nice enough to include for free, and you issue an unrestricted license to your client to use that code in perpetuity, including the creation of derivative works
c. Any third party code or products used are owned by their respective owners, and are subject to their licensing
You'll also want to make DAMN SURE that you don't ever ever ever sign any contracts with an Assignment of Inventions clause that isn't extremely limited (they never are) - or you may be legally SOL. Note that there are several states (i.e. California) that limits (but doesn't eliminate) this by law regardless of what the contract says. This is expected in an employment contract (but limits may be able to be negotiated), but IMHO should not be granted for an independent contractor contract.
Your biggest challenge will be getting them to accept joint ownership of the source code. This conflicts with the "Work made for hire" doctrine that is specific language that is very often used in software development contracts when using contractors.
If they understand IP, they may not agree to this - but I'm guessing that those aren't the type of clients you're dealing with. I can tell you with certainty that there is at least one extremely large software company that does this for any consulting/custom code written for any client - and if they won't agree to that, then they won't do it - period (but they'll refer them to a partner).
If you have joint ownership you should be fine IP-wise to contribute that code to an open source project, subject to any restrictions made by that project.
You'll also want to be selective in what you open source. You would be doing your client a disservice if you open sourced industry-specific code that would be useful to their direct competitors. Your client will also be less than happy if they realize that the entire app that they paid you to custom write for them is available for free - and could even at first think that you just installed it instead of writing it from scratch. You also just diminished their perceived value of your services.
I think this covers your questions 1,2, and 4.
Question 3 could be a problem - depending on the licensing model of the open source project from which you are creating a derivative work, the client can certainly pay you to do it, but they may not have complete or even any ownership of that code per the licensing model of the open source project. That is not to say that you can't do it - but you may want to cover that with an additional clause in your contract - and run it by an IP attorney - or only do that after a client asks you to do this - and then you might be able to charge back the costs of having an attorney review an addendum to your contract covering this situation.