Obernosterer war von 2001 bis 2008 ungeschlagener österreichischer Schüler- und Jugendmeister im Herreneinzel U13, U15, U17 und U19.
Von 2008 bis 2010 wurde er acht Mal österreichischer Juniorenmeister in den Altersklassen U19 und U22. Insgesamt erkämpfte er sich 32 österreichische Nachwuchs-Meistertitel in den Altersklassen von U13 bis U22 im Einzel, Doppel, Mixed, Team und Schulcup. 2009 gewann er seine erste Medaille bei den Erwachsenen, wobei er Silber im Herrendoppel mit Daniel Wolf erkämpfen konnte. 2010 und 2012 gewann er Silber im Herreneinzel. 2012 nahm er auch an den Badminton-Europameisterschaften teil und wurde Zweiter bei den Bulgaria Open. 2013 siegte er erstmals im Einzel bei den nationalen Titelkämpfen. Als erster männlicher Badmintonspieler holte er einen Badmintonstaatsmeistertitel in sein Heimat-Bundesland Vorarlberg. 2014 konnte er den Staatsmeistertitel im Herreneinzel verteidigen und gewann Silber bei den Croatian International in Zagreb. Vom 1. Mai 2015 bis zum 1. Mai 2016 spielte David Obernosterer bei Turnieren auf allen Kontinenten, um sich für die Olympischen Spiele 2016 in Rio de Janeiro zu qualifizieren, was ihm letztlich gelang. Er nahm an den Spielen vom 11. August bis zum 20. August 2016 im Herreneinzel teil.