Yes. Mary was speaking in the present perfect tense. She was not speaking in the future tense. Nice try.
Matthew 1:25
And knew her not till she had brought forth her firstborn son: and he called his name JESUS. (KJV)
but had no marital relations with her until she had borne a son;[a] and he named him Jesus. (NRSV)
Footnotes:
Matthew 1:25 Other ancient authorities read her firstborn son
I think the latter is a proper Catholic translation. The footnote applies to it.