Dear @Tubardus and @Hervé after another sleepness night, I've managed to get my bluetooth working now. After sleeping, waking up, rebooting, it still works. I followed the solution by @swede420 and Herve's at https://osxlatitude.com/forums/topic/12392-solved-7490-catalina-dw1820a-bluetooth-problem/
I used Swede420's kexts and put them in E/C/K/O and it's working now.
Apart from these 3 Kexts, I also have FakePCIID.kext and FakeSMC.kext in there.
Inject Kexts in Clover is set to Yes.
Now airdrop, handoff, bluetooth speakers, bluetooth hotspot with iPhone is working.
What is not working is the Apple Watch Auto Unlock and iPhone Personal hotspot via the Wifi. For some reason it always say Fail to connect. I also have to select it twice for it to respond.
I also followed @Hervé 's advice on rebooting to windows, then the bluetooth driver will update it back from c5974 to c4689 which works for me now.
I hope this guide will help other DW1820a users too.
@Hervé do you know if setting pci-aspm-default to 1 is a good idea and saves more power?
Cheers.