Obergefell v. Hodges, 576 U.S. 644 (2015) did not have retroactive effect, and so did not change the status of the same-sex marriages performed in 2004 in San Francisco.
In Lockyer v. City and County of San Francisco those marriages were declared void, and the county was declared to have exceeded its authority by the California Supreme Court.
In the combined case In re Marriage Cases, 43 Cal. 4th 757 (Cal. 2008) the California Supreme Court held that the previous law (a result of proposition 22) was invalid under the Equal Protection provision of the California state constitution. This ruling did not retroactively restore the 2004 marriages. This ruling was made moot by the passage of proposition 8 later that year, but a Federal court overturns Proposition 8 on other grounds, leaving the ruling from In re Marriage Cases in effect.
None of the stages of this process involved retroactive laws, nor even retroactive court rulings, which are more common, and not the same thing.
As the marriages were declared void within 6 months, none of the parties to them, were ever validly married as a result of the 2004 ceremonies, nor did they become retroactively married under Obergefell or under In re Marriage Cases. As such they should not have filed taxes as married couples, and there is no indication that any did so. After Prop 8 was stuck down, the couples could have married under California law as it then stood, but that would have been a separate, new marriage, without retroactive effect.
In the US, when a law is overturned as being unconstitutional, that decision applies to the case where it was originally brought, and to any future cases under the same law, sometimes to future cases for similar laws. It does not apply to past cases unless the court decision specifically says that it does, and that is very rare. The one exception is when in a previous case the same constitutional argument was made at trial but not accepted, and even then the party with the claim will have to file a new case or motion, pointing out the new case that would have been binding had it happened earlier.
The courts do not like to overturn large numbers of settled cases, and they don't normally do so. In a case like this, declaring that hundreds of people who had been told that they were single because a court, a state supreme court no less, had voided their marriages, were really married all along would cause immense confusion. Not just in tax law -- suppose that some of those people had later married others, are they now guilty of bigamy? Suppose some had died leaving wills that the marriages would have invalidated? do the probates have to be undone and property redistributed? What about social security benefits that depend on marriage status? And what about others who had attempted to get marriage licenses and been denied over the years? Are they now entitled to damages? The courts will go to significant effort not to create that sort of tangle.
When Miranda changes the rules on confessions, previous convictions that would have been invalid under the new rules were not overturned. When Gideon vs Wainwright held that all criminal defendants facing prison time had to be provide with lawyers, past convictions were again not overturned. I could cite many more cases. It just isn't done that way.