[verb (plain)] + ことは + [same verb] + が/けど [i-adj] + ことは + [same i-adj] + が/けど [na-adj] + な + ことは + [same na-adj] + だ + が/けど
ことは~が says "it's true that X, but": you grant a point and then take something back from it. The same verb or adjective goes on both sides of ことは – plain form before it – and が or けど leads into the reservation, which is what you really want to say.
The word must be the same both times. Only the second one carries the tense: よむ読むことはよんだ読んだ, "I did read it". A な-adjective takes な before ことは and だ after it.
Only the second half goes polite. The word before ことは stays plain.
The first half only concedes. Something sounds unfinished if nothing follows it, so the second clause, the limit or the downside, carries the point of the sentence.