What are you submitting to?
I think this will call for two data connections, one will submit all of the data fields, and the other will only submit a select few of the data fields. Then, using the same conditions that your conditional formatting uses, you can decide which data connection to use in the submission process. Another method might be to actually remove the nodes from the schema instead of using conditional formatting, but I don't think you want to do this because 1) it will be a lot more work on you 2) it will cause performance decrease.
You're right in that hidden controls are not removed from the schema, they are simply not displayed.
I hope this helps!
---------------
Matt Faus
InfoPath Dev Texas
Matt Faus / Microsoft InfoPath MVPQdabra® Software / Streamline data gathering to turn process into knowledge