1 refers to something said now.
2 refers to something said in the past.
I see this must be explained more clearly.
If we change the main clause to present tense we get
3 It is odd that you (should) say this.
The that-clause refers to something said just now. That English uses this "should" ( often called putative should) in a similar way as in French the subjunctive is used
after expressions containing a judgement is a special quirk.
4 It is odd that you should have said this.
Here the that-clause refers to something said in the past (yesterday, a week ago, etc)
If we change the main clause to past the that-clause doesn't shift tense because "should" is already in past tense.
The reference of the that-clause remains principally the same.
Some says "It was odd that you should say this" and refers to the remark he just heard at that point in the past.
If he would refer to a remark back in time he would say:
It was odd that you should have said this (some days/a week ago).
Remark: Sometimes should + infinitive is used instead of should + infinitive perfect and the construction can become ambiguous. Then it can be better to avoid "should".