Your machine appears to be very capable of contending with suspend and resume, plus the fact that Windows can obviously do this. Therefore the BIOS is likely not in the way of this behavior.
I agree with AwesomeMachine that you should view your system log to understand what it is saying, however I fear that you'll see that it goes to one of the 'S' states for suspend to RAM, or suspend to disk, and then you may see no more information because that is sort of your problem, Linux is not recognizing the BIOS event which should wake the system back up.
It would be worth seeing if you can suspend to RAM and awake from that, versus suspend to disk (S3-hibernate).
Other things to check are the ACPI settings or the power management functions. The link offered by AwesomeMachine is a good read on those even if it is not a matching Linux distribution.
Here's a Debian article on that
https://wiki.debian.org/Suspend.
I've actually done the opposite, which was to disable ACPI for a kiosk computer for make it so that it would never go to sleep and to test I had to do things like write to the correct file to put the system to sleep, to see that it did not go to sleep ... only to find that it did until I got my config correct. Meanwhile waking up for me in that case was a problem because it was a "no keyboard" system, also with no mouse and no touch screen - we had special buttons which were not interfaced normally like a keyboard, so the re-wake was "similar" but also not really supported.
My point there is that you can write the values to the correct PM or ACPI files and get the system to suspend to RAM and see if you can wake it from there.
And I would experiment with the various interfaces. Such as the power button (and check the power settings in your distribution to determine what it interprets the power button to be doing), but also mouse clicks, and keyboard presses. Not sure if this is a laptop computer, but if so, also check what the lid button does or doesn't do. There should be settings in the power settings for Debian.