- GpioIO (Shared, PullUp, 0, 0, IoRestrictionNone, "\\_SB.GDV0.RPIQ", 0, ResourceConsumer, , ) { 128 }
+ //GpioIO (Shared, PullUp, 0, 0, IoRestrictionNone, "\\_SB.GDV0.RPIQ", 0, ResourceConsumer, , ) { 128 }
This line should be completely removed. 
BT_ON is configured by the firmware, and the Windows driver doesn't touch it.

+
+ PinFunction (Exclusive, PullDown, BCM_ALT3, "\\_SB.GDV0.GPI0", 0, ResourceConsumer, , ) { 32, 33 }
+
+ // fake the CTS signal as we don't support HW flow control yet
+ // BCM_ALT2 is set as output (low) by default
+ PinFunction (Exclusive, PullNone, BCM_ALT2, "\\_SB.GDV0.GPI0", 0, ResourceConsumer, , ) { 31 }
This always assumes that PL011 is used for Bluetooth. The pin muxing could be done in ConfigDxe depending on which UART is unused.
Also, pin 31 should be set as a LOW output pin rather than relying on the default configuration of BCM_ALT2.