Sachverhalt:
A.
B._ (Beklagter, Beschwerdegegner) und die C._ AG (Beklagte, Beschwerdegegnerin) sind Eigentümer eines landwirtschaftlichen Gewerbes in U._ und dazugehörender landwirtschaftlicher Grundstücke in V._ (nachfolgend: der Bauernhof C._).
Anfänglicher Pächter des Bauernhof C._s war der Ehemann von A.A._ (Klägerin, Beschwerdeführerin). Nachdem dieser das Pensionsalter erreicht hatte, verpachteten die Beklagten der Klägerin mit zwei separaten Pachtverträgen vom 17. Februar 1998 die je in ihrem Eigentum stehenden Pachtgrundstücke. Am 5. März 2011 unterzeichneten die Klägerin als Pächterin und der Beklagte als Verpächter einen "Anhang zum Pachtvertrag". Darin vereinbarten sie eine Befristung des Pachtverhältnisses bis 31. Dezember 2016.
Mit Schreiben vom 26. Dezember 2015 kündigte der Beklagte den Pachtvertrag per 31. Dezember 2016. Er machte geltend, sein Sohn wolle den Bauernhof C._ dereinst bewirtschaften.
B.
Am 8. Juli 2016 klagte die Klägerin beim Richteramt Thal-Gäu auf Feststellung, dass der Pachtvertrag vom 5. März 2011 und die Kündigung vom 26. Dezember 2015 nichtig seien. In einem von mehreren Eventualbegehren beantragte sie, das Pachtverhältnis sei um sechs Jahre zu erstrecken.
B.a. Am 1. Juni 2017 wies das Richteramt die Klage ab.
Die dagegen gerichtete Berufung der Klägerin hiess das Obergericht des Kantons Solothurn am 5. April 2018 gut und stellte fest, der Pachtvertrag vom 5. März 2011 sowie die Kündigung vom 26. Dezember 2015 seien nichtig.
Dagegen gelangten die Beklagten erstmals an das Bundesgericht, welches ihre Beschwerde in Zivilsachen teilweise guthiess. Es hob das erste Urteil des Obergerichts vom 5. April 2018 auf, wies die Klage ab, soweit die Feststellung der Nichtigkeit des Pachtvertrages vom 5. März 2011 und der Kündigung vom 26. Dezember 2015 verlangt wurde, und schickte die Sache zur Beurteilung der Erstreckung des Pachtverhältnisses an das Obergericht zurück (Urteil 4A_260/2018 vom 28. November 2018; nachfolgend: erster Rückweisungsentscheid).
B.b. Mit seinem zweiten Urteil vom 23. April 2019 wies das Obergericht das Begehren der Klägerin um Erstreckung des Pachtverhältnisses ab.
Nun gelangte die Klägerin erstmals an das Bundesgericht. Dieses hiess ihre Beschwerde in Zivilsachen teilweise gut und hob auch das zweite Urteil des Obergerichts vom 23. April 2019 auf. Es erstreckte das Pachtverhältnis einmalig und definitiv um drei Jahre bis zum 31. Dezember 2019. Was die Kosten- und Entschädigungsfolge des bundesgerichtlichen Verfahrens betraf, erkannte das Bundesgericht, die Klägerin unterliege mit Blick auf die Erstreckungsdauer zur Hälfte. Da die Dauer der Erstreckung im Ermessen des Gerichts liege und sich die Beklagten gegen jede Erstreckung gewehrt hätten, erscheine es gerechtfertigt, die Gerichtsgebühr zu 3⁄4 den Beklagten aufzuerlegen und zu 1⁄4 der Klägerin. Dieser sprach es eine reduzierte Parteientschädigung zu. Sodann wies es die Sache an das Obergericht zurück zu neuer Entscheidung über die Kosten- und Entschädigungsfolgen für das kantonale Verfahren (Urteil 4A_260/2019 vom 23. Oktober 2019; nachfolgend: zweiter Rückweisungsentscheid).
B.c. Mit seinem dritten Urteil vom 7. Januar 2020 auferlegte das Obergericht die Prozesskosten des kantonalen Verfahrens - dem Ausgang des bundesgerichtlichen Verfahrens entsprechend - im Umfang von 1⁄4 der Klägerin und von 3⁄4 den Beklagten. Dementsprechend überband es die Gerichtskosten für das erstinstanzliche Verfahren von Fr. 7'000.-- im Umfang von Fr. 1'750.-- der Klägerin und im Umfang von Fr. 5'250.-- den Beklagten. Die Beklagten wurden verpflichtet, der Klägerin für das erstinstanzliche Verfahren eine reduzierte Parteientschädigung zu bezahlen. Auch die Gerichtskosten für das zweitinstanzliche Verfahren setzte das Obergericht auf Fr. 7'000.-- fest und verlegte sie analog wie die Gerichtskosten des erstinstanzlichen Verfahrens. Auch für das zweitinstanzliche Verfahren sprach es der Klägerin zu Lasten der Beklagten eine reduzierte Parteientschädigung zu.
Dagegen gelangten abermals die Beklagten an das Bundesgericht. Dieses hiess ihre Beschwerde in Zivilsachen teilweise gut, hob das dritte Urteil des Obergerichts vom 7. Januar 2020 auf und wies die Sache an dieses zurück zu neuer Entscheidung über die Kosten- und Entschädigungsfolgen für das kantonale Verfahren. Die Gerichtskosten des bundesgerichtlichen Verfahrens von Fr. 1'000.-- auferlegte es der Klägerin, während es keine Parteientschädigung zusprach (Urteil 4A_74/2020 vom 28. Mai 2020; nachfolgend: dritter Rückweisungsentscheid).
B.d. Am 16. November 2020 entschied das Obergericht zum vierten Mal. Es auferlegte die Gerichtskosten des erst- und zweitinstanzlichen Verfahrens von je Fr. 7'000.-- im Umfang von Fr. 1'750.-- den Beklagten und im Umfang von Fr. 5'250.-- der Klägerin. Parteientschädigungen sprach es keine zu, sondern schlug die Parteikosten wett.
C.
Nun beantragt die Klägerin mit Beschwerde in Zivilsachen, das jüngste Urteil des Obergerichts vom 16. November 2020 sei aufzuheben. Die erst- und zweitinstanzlichen Gerichtskosten von je Fr. 7'000.-- seien den Parteien je zur Hälfte aufzuerlegen. Es wurden keine Vernehmlassungen eingeholt.

Erwägungen:
1.
Bei Streitigkeiten, die ein Pachtverhältnis betreffen, ist die Beschwerde nach <ref-law> nur zulässig, wenn der Streitwert mindestens Fr. 30'000.-- beträgt (<ref-ruling> E. 1.1 S. 197). Nach <ref-law> bestimmt sich der Streitwert bei Beschwerden gegen Endentscheide nach den Begehren, die vor der Vorinstanz streitig geblieben waren. Nach einem Rückweisungsentscheid des Bundesgerichts ist der ursprünglich vor der Vorinstanz streitige Betrag massgebend, nicht der Betrag, über den die Vorinstanz nach dem Rückweisungsentscheid noch zu entscheiden hat (Urteil 4A_225/2011 vom 15. Juli 2011 E. 1; zit. Urteil 4A_74/2020 E. 1; vgl. schon BGE 57 II 550). Das gilt auch, wenn nach einem Rückweisungsentscheid des Bundesgerichts nur noch über die Kosten und Entschädigungsfolgen für das kantonale Verfahren zu befinden war (zit. Urteil 4A_74/2020 E. 1; Urteile 4A_94/2018 vom 28. September 2018 E. 1.1; 4A_200/2011 vom 29. Juni 2011 E. 1.1; 5A_619/2015 vom 21. Dezember 2015 E. 1, nicht publiziert in <ref-ruling>). Der für eine Beschwerde in Zivilsachen erforderliche Streitwert wird unabhängig von der Höhe der angefochtenen Kosten- und Entschädigungsregelung erreicht. Auch die Beschwerdefrist ist gewahrt (Art. 100 Abs. 1 i.V.m. <ref-law>). Unter Vorbehalt einer rechtsgenüglichen Begründung (Art. 42 Abs. 2 und Art. 106 Abs. 2 BGG; vgl. E. 2 hiernach) ist auf die Beschwerde einzutreten.
2.
Das Bundesgericht wendet das Recht von Amtes wegen an (<ref-law>). Allerdings prüft es, unter Berücksichtigung der allgemeinen Begründungspflicht der Beschwerde (Art. 42 Abs. 1 und 2 BGG), grundsätzlich nur die geltend gemachten Rügen, sofern die rechtlichen Mängel nicht geradezu offensichtlich sind. Es ist jedenfalls nicht gehalten, wie eine erstinstanzliche Behörde alle sich stellenden rechtlichen Fragen zu untersuchen, wenn diese vor Bundesgericht nicht mehr vorgetragen werden (<ref-ruling> E. 2 S. 88 f., 115 E. 2 S. 116).
Die Beschwerde ist hinreichend zu begründen, andernfalls wird darauf nicht eingetreten. Unerlässlich ist im Hinblick auf <ref-law>, dass die Beschwerde auf die Begründung des angefochtenen Entscheids eingeht und im Einzelnen aufzeigt, worin eine Verletzung von Bundesrecht liegt. Die beschwerdeführende Partei soll in der Beschwerdeschrift nicht bloss die Rechtsstandpunkte, die sie im kantonalen Verfahren eingenommen hat, erneut bekräftigen, sondern mit ihrer Kritik an den als rechtsfehlerhaft erachteten Erwägungen der Vorinstanz ansetzen (<ref-ruling> E. 2 S. 89, 115 E. 2 S. 116). Die Begründung hat ferner in der Beschwerdeschrift selbst zu erfolgen, und der blosse Verweis auf Ausführungen in andern Rechtsschriften oder auf die Akten reicht nicht aus (<ref-ruling> E. 3.2.2 S.178; <ref-ruling> E. 2 S. 116).
3.
Nach einem Rückweisungsentscheid des Bundesgerichts sind sowohl dieses selbst als auch die kantonalen Instanzen an die rechtliche Beurteilung, mit der die Rückweisung begründet wurde, gebunden. Wegen dieser Bindung der Gerichte ist es ihnen wie auch den Parteien, abgesehen von allenfalls zulässigen Noven, verwehrt, der Beurteilung des Rechtsstreits einen anderen als den bisherigen Sachverhalt zu unterstellen oder die Sache unter rechtlichen Gesichtspunkten zu prüfen, die im Rückweisungsentscheid ausdrücklich abgelehnt oder überhaupt nicht in Erwägung gezogen worden waren (<ref-ruling> E. 5.3.3 S. 222 f.; <ref-ruling> E. 2 und 2.1 S. 335 mit Hinweisen).
4.
Die Beschwerdeführerin wendet sich gegen die vorinstanzliche Verteilung der Gerichtskosten.
4.1. Nach <ref-law> werden die Prozesskosten grundsätzlich der unterliegenden Partei auferlegt. Hat keine Partei vollständig obsiegt, so werden die Prozesskosten nach dem Ausgang des Verfahrens verteilt (<ref-law>).
4.2. Die Vorinstanz erwog, bei einer Gesamtbetrachtung sei die Beschwerdeführerin mit ihren Begehren über weite Strecken nicht durchgedrungen.
Sie sei mit ihren Anträgen um Feststellung der Nichtigkeit des Pachtvertrags vom 5. März 2011 und der Kündigung vom 26. Dezember 2015 im erstinstanzlichen Verfahren und schliesslich vor Bundesgericht vollständig unterlegen.
Danach sei nur noch die Erstreckung des Pachtvertrags strittig geblieben. Das Obergericht habe das Begehren der Beschwerdeführerin zunächst abgewiesen. Vor Bundesgericht habe die Beschwerdeführerin dann mit einem Eventualbegehren zur Hälfte obsiegt, indem das Bundesgericht die Pacht für die Dauer von drei Jahren erstreckt habe.
Insgesamt rechtfertige es sich, die Gerichtskosten anteilsmässig im Umfang von 1⁄4 den Beschwerdegegnern und im Umfang von 3⁄4 der Beschwerdeführerin aufzuerlegen.
5.
5.1. Die Beschwerdeführerin rügt, dass das identische Gericht bei identischem Verfahrensausgang die Gerichtskosten einmal im Verhältnis 1⁄4 zu 3⁄4 und einmal im Verhältnis 3⁄4 zu 1⁄4 verteilte.
5.2. Die Rüge ist unbegründet.
Es trifft zu, dass die Vorinstanz in ihrem dritten Urteil vom 7. Januar 2020 die kantonalen Prozesskosten zu 1⁄4 der Beschwerdeführerin auferlegte und zu 3⁄4 den Beschwerdegegnern. Ebenso trifft zu, dass die Vorinstanz in ihrem vierten - und nunmehr angefochtenen - Urteil vom 16. November 2020 die Gerichtskosten des kantonalen Verfahrens zu 3⁄4 der Beschwerdeführerin auferlegte und zu 1⁄4 den Beschwerdegegnern.
Allerdings blendet die Beschwerdeführerin aus, dass in der Zwischenzeit der dritte Rückweisungsentschied des Bundesgerichts vom 28. Mai 2020 ergangen war. Darin hatte das Bundesgericht dem Beschwerdegegner teilweise Recht gegeben. Es hatte das dritte vorinstanzliche Urteil vom 7. Januar 2020 aufgehoben und der Vorinstanz aufgetragen, erneut über die Verteilung der Prozesskosten zu befinden. Somit liegt es auf der Hand, dass die Vorinstanz in ihrem vierten Urteil anders entschied als im dritten.
6.
6.1. Die Beschwerdeführerin macht geltend, ursprünglich habe sie die Feststellung verlangt, dass der Pachtvertrag vom 5. März 2011 und die Kündigung vom 26. Dezember 2015 nichtig seien, und dass die Pacht eventualiter zu erstrecken sei. Ob eine gültige Kündigung vorliege, sei Vorfrage jedes Pachterstreckungsverfahrens. Liege nämlich keine gültige Kündigung vor, könne die Pacht gar nicht erstreckt werden. Auch wenn die Beschwerdeführerin nur auf Pachterstreckung geklagt hätte, wäre vom Gericht zu prüfen gewesen, ob die Kündigung gültig sei. Das Bundesgericht habe in seinem ersten Rückweisungsentscheid entschieden, die Kündigung sei gültig. In der Folge sei die Pachterstreckung gewährt worden, zwar nicht für die beantragte Dauer von sechs Jahren, aber immerhin für drei Jahre. Der Antrag auf Erstreckung sei somit "in genereller Art und Weise" gutgeheissen worden. Die Dauer der Erstreckung sei für die Verlegung der Gerichtskosten von "absolut ungeordneter Bedeutung". Dass die Pacht um drei statt sechs Jahre erstreckt werde, führe nicht zur hälftigen Teilung der Gerichtskosten.
6.2. Auch diese Rüge verfängt nicht.
Wie das Bundesgericht bereits im dritten Rückweisungsentscheid erwog, hatte die Beschwerdeführerin im kantonalen Verfahren ursprünglich verlangt, es sei festzustellen, dass der Pachtvertrag vom 5. März 2011 und die Kündigung vom 26. Dezember 2015 nichtig seien. Mit diesen Hauptbegehren drang die Beschwerdeführerin nicht durch. Dass das Pachtverhältnis um sechs Jahre erstreckt werde, hatte sie lediglich in einem von mehreren Eventualbegehren beantragt. Doch auch mit diesem Eventualantrag obsiegte die Beschwerdeführerin nur im Umfang von drei Jahren (zit. Urteil 4A_74/2020 E. 5.3).
Die Argumentation der Beschwerdeführerin beruht auf einem Denkfehler. Es trifft nicht zu, dass bei jedem Pachterstreckungsverfahren die Gültigkeit der Kündigung zu prüfen ist. Vielmehr ist auch denkbar, dass die Pächterin die Gültigkeit der Kündigung anerkennt und nur auf Erstreckung des Pachtverhältnisses klagt. In diesem Fall hat das Gericht nicht zu prüfen, ob das Pachtverhältnis gültig gekündigt wurde.
Im zu beurteilenden Fall aber verlangte die Beschwerdeführerin die Feststellung, dass der Pachtvertrag vom 5. März 2011 und die Kündigung vom 26. Dezember 2015 nichtig seien. Dieser Hauptantrag veranlasste die kantonalen Instanzen und das Bundesgericht, die Frage zu überprüfen. Dass die Beschwerdeführerin in diesem Punkt schliesslich unterlag, ist unbestritten.
7.
Die Beschwerde ist abzuweisen. Bei diesem Ausgang des Verfahrens wird die Beschwerdeführerin kostenpflichtig (<ref-law>). Den Beschwerdegegnern ist keine Parteientschädigung zuzusprechen, da keine Vernehmlassung eingeholt wurde (<ref-law>).

Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird abgewiesen.
2.
Die Gerichtskosten von Fr. 1'000.-- werden der Beschwerdeführerin auferlegt.
3.
Dieses Urteil wird den Parteien und dem Obergericht des Kantons Solothurn, Zivilkammer, schriftlich mitgeteilt.
Lausanne, 1. März 2021
Im Namen der I. zivilrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Die Präsidentin: Hohl
Der Gerichtsschreiber: Luczak