Sachverhalt: A. Vom 28. bis 30. August 2007 regnete es in der Region R._ stark (rund 85 l/m2). Da der Jauchekasten des Landwirts H._ zu überlaufen drohte, brachte dieser am Nachmittag des 30. August ca. 10'500 l Jauche auf ein Feld aus. Gegen 17:30 Uhr stellte eine Passantin eine Verschmutzung des nahe gelegenen B._bachs fest und alarmierte die Polizei. B. Das Bezirksgericht Arbon sprach H._ am 6. Oktober 2008 vom Vorwurf der Widerhandlung gegen das Umweltschutz- (USG) und das Gewässerschutzgesetz (GSchG) frei. Auf Berufung der Staatsanwaltschaft des Kantons Thurgau büsste das Obergericht des Kantons Thurgau H._ am 10. September 2009 wegen fahrlässiger Widerhandlung gegen das USG mit Fr. 600.--. Zudem verpflichtete es ihn, die Kosten der Strafuntersuchung von Fr. 800.-- und eine Verfahrensgebühr von Fr. 1'500.-- zu zahlen. C. H._ führt Beschwerde in Strafsachen und beantragt, der Kostenentscheid sei aufzuheben und zur erneuten Festsetzung und Begründung der Beträge an die Vorinstanz zurückzuweisen; eventualiter seien die Beträge durch das Bundesgericht zu bestimmen. Die Vorinstanz begehrt in ihrer Vernehmlassung, die Beschwerde sei abzuweisen (act. 10). H._ hat unaufgefordert repliziert (act. 11). Die Staatsanwaltschaft hat sich nicht vernehmen lassen.