Anyway it’s only an “ACPI” settings.
Your system won't work with macOS if the ACPI settings are wrong.
Regarding your MmioWhitelist issues, have you read and followed this guide?
ACPI hotpatches, fixes, and guides for OpenCore. Optimize your Hackintosh and run macOS 13+ on Wintel PCs with OpenCore Legacy Patcher. - 5T33Z0/OC-Little-Translated
github.com
At this point, it's not a question of Kext or patch but only of Bios, Acpi, mmio.
You are as likely to have an incomplete or incorrect custom USB configuration as any other issue, when you see the shutdown/wake issue.
The most common reason for the Shutdown/Wake issue on a Hack is a power call on one of the USB ports, which happens when a USB port has been set with the wrong connector type.
Post a copy of your current USBMap.kext or UTBMap.kext so we can see exactly what you are using for your custom USB configuration.
This is the way you should be setting your USB port connector types, when creating a custom USB kext.
- USB2 (0) - Physical USB2 ports on rear I/O plate, these ports always have a Black coloured tang.
- USB3 (3) - Physical USB3 ports on rear I/O plate, these ports can have a Red, Blue, Cyan or Yellow coloured tang.
- Virtual USB2 ports - served from physical USB3 ports) should be set with the same connector type as the physical port
- USB3 (3) - Motherboard Header, usually serving the case front USB3 ports.
- Virtual USB2 ports - served from physical USB3 ports) should be set the same as the physical port
- Internal (255) - Motherboard USB2 header, this will be any device served from a header port, such as Bluetooth module, case front USB2 ports, case front card reader etc.
- Internal connector type should also be used for any Bluetooth USB connection from a built-in M.2 connector (on the Rear I/O plate).
- Type-c+sw (9) - Type-C connector on Rear I/O plate, will only show two ports being available,
- when the Type-C device is inserted, removed, flipped 180° and reinserted, 1 x Physical Type-C and 1 x virtual USB2 port.
- Type-c (10) - Type-C (E) motherboard header, will show four ports being available from a single Type-C connector,
- when the Type-C device is inserted, removed, flipped 180° and reinserted, 2 x Type-C and 2 x USB2.
Your MSI X870 motherboard contains the following USB ports & headers.
- 4x USB 2.0 (Rear) - USB2.0 (0) connector type
- 4x USB 2.0 (Front) - Internal (255) connector type
- 2x USB 5Gbps Type A (Rear) - USB3 (3) connector type
- 2x USB 5Gbps Type A (Front) - USB3 (3) connector type
- 2x USB 10Gbps Type A (Rear) - USB3 (3) connector type
- 1x USB 10Gbps Type C (Front) - Likely to be Type-c (10) Connector type
- 1x USB 20Gbps Type C (Rear) - Likely to be Type-c+sw (9) Connector type
- 1x USB 40Gbps Type C (Rear) - Likely to be Type-c+sw (9) Connector type
This means you could have 28 x USB ports available in your AMD system. Probably split between 3 or more USB controllers.
You need to remember that the 15 x USB port limit is PER CONTROLLER, not an aggregate of all USB controller ports. As Intel motherboards tend to only have 1 x USB controller (XHC) that limits Intel systems. AMD system are not the same, they can have multiple USB controllers allowing for a larger number of ports to be active at the same time.
As an example my X570 system contains 3 x USB controllers and this allows me to activate 28 x USB ports across the 3 x controllers.

X570 motherboard with 28 x USB ports active, viewed in Hackintool.
Just remember that Hackintool is as likely to mess up the USB configuration on an AMD system, as it is to show it correctly. As it is aimed at working with simpler Intel USB configurations.