There are two ways of looking at tense in English found in textbooks these days.
The more traditional view is that there are six tenses in English (past simple, present simple, future simple, past perfect, present perfect, future perfect). There are also continuous and conditional forms, which I was told were tenses when I was at school, but I think it is not generally argued that these are tenses these days.
An alternative view is which is becoming more current is that English has only two tenses, known as past and non-past. All the rest are modal or periphrastic (ie constructed) forms. So in this view the forms "I have gone" and "I will go" are constructed, not "true tense", and should be seen as non-past, because the main verb (have, will) is non-past.
An argument that I have heard in favour of the two tense view is that this is "strict grammatical tense", and that there should be agreement throughout on tense. You can say "Now I have gone" and "Now I will go", but you can't say "Now I went" (unless you are using "now" other than in the sense of "at this moment".
If you take that view, then your (a) sentences are fine, because you have past forms in both parts of the sentence. In that view, your sentences (b) are not fine. But you can substitute other non-past forms into the main clause, such as "will know" and "have known", and find that they agree happily with the non-past form in the relative clause.
But actually I think we do hear sentences such as your (b) sentences. So perhaps I haven't quite understood this. I'm hoping Vinny is going to come and rescue me.