This is by design. Windows has supported changing the video adapter's DPI (dots-per-inch) setting to 96 dpi (100%) and 120 dpi (125%) for a long time. At least since XP, possibly before that. So applications are expected to know how to deal with this.
Starting at Vista, Windows now supports arbitrary DPI settings. When you go past 120 dpi, Windows takes over the job of scaling the output of your program. A feature of Aero, it lies to the app about the DPI setting and lets the app render its window content into a memory buffer. It then rescales that buffer content before it draws it to the screen.
This is an important app-compat feature, it allows old programs to still be functional on a modern machine and avoids their window from turning into an unusable postage stamp. The result is not entirely flawless, you do see the quality of text in particular being less than stellar.
The Aero lie isn't just about the DPI setting, it also lies about the screen size. Necessary to prevent the app from creating a window that is too large and won't fit the screen anymore after it is rescaled. Which is why you got 1280 x 720.
To turn off the lie, you have to tell Aero that you do support higher DPI settings, even though your program is marked to still be compatible with old Windows versions. This answer shows you how to edit the manifest of your program to add the <dpiAware>
element.