It does? Last I checked Linux doesn't do dynamic swap sizes, and while Windows has dynamic swap sizes it has a separate big non-dynamic file for hibernation. I have no idea what MacOS does.
on my thinkpad with fedora hibernate works fine. i use it frequently. i even use it when for an unknown reason my usb-c headphones stop working. i don't know why. but after hibernate they work again. somehow waking up from hibernation fixes the problem