Kort svar: Ja, midsommardagen är alltid en röd dag.
Vilka dagar som i Sverige är allmänna helgdagar (röda dagar i almanackan) regleras i Lag (1989:253) om allmänna helgdagar. Förutom alla söndagar är det:
påskdagen och pingstdagen, nyårsdagen, trettondedag jul, första maj, juldagen och annandag jul, /../ långfredagen, annandag påsk, Kristi himmelsfärdsdag, nationaldagen, midsommardagen och alla helgons dag
Som synes är inte midsommarafton (eller jul- och nyårsafton för den delen) röd dag, däremot midsommardagen. Midsommardagen (då alltid den 24 juni) var en bland många helgdagar som kom med kristendomen men då som Johannes döparens dag. Johannes döparen föddes enligt Bibeln sex månader före Jesus. Därför firas hans dag 24 juni (sex månader före 25 december).

Vid kalenderreformen 1953 flyttades midsommardagen, som tidigare alltså haft ett fast datum 24 juni, till närmast liggande lördag (20-26 juni). Avsikten var att skapa en dubbelhelg med två dagars ledighet. Alltså är midsommardagen alltid på en lördag och alltid en röd dag.
Skrivet av Mattias Axelsson (2015-06-20, uppdaterad 2018-01-04)
Källa: Bringéus, Nils-Arvid (1999) Årets festdagar Carlssons Bokförlag:Stockholm (s. 162-163),