I found a better way than GPRW patch to fix the instant wake problem caused by USB devices. I have assigned UsbConnector key to 255 (internal) instead of 2 (USB 2) or 3 (USB 3) in USB mapping (I am preparing USBPorts.kext by using Hackintool.app).
For example, instead of 3:
XML:
<key>HS03</key>
<dict>
<key>Comment</key><string>Back panel USB3_3_4</string>
<key>UsbConnector</key><integer>3</integer>
<key>name</key><string>HS03</string>
<key>port</key><data>AwAAAA==</data>
</dict>
I used 255:
XML:
<key>HS03</key>
<dict>
<key>Comment</key><string>Back panel USB3_3_4</string>
<key>UsbConnector</key><integer>255</integer>
<key>name</key><string>HS03</string>
<key>port</key><data>AwAAAA==</data>
</dict>
This prevents unwanted wake by a USB device connected to the port (in this case, HS03). My no-brand wireless-USB keyboard and USB flash memories will not disturb sleep anymore. Furthermore, Bluetooth keyboard and trackpad made by both Apple and non-Apple, can wake the computer up. The USB port at M.2 E key connecter for BT is also assigned to 255 because it is an internal connector. So far, this is almost ideal sleep setup without unwanted wake by USB devices, and with proper wake up by BT input devices.
I guess that macOS successfully manages power for internal (255) connector during sleep, while it does not for USB 2 and 3 connectors (2 and 3). BT devices can react during sleep because the power of the BT module is separately supplied via M.2 socket.
I will test this configuration for a while, and after that, update the EFI attached to the first post of this thread.