Bubble just runs the logic in order (as if there are no parentheses to dictate the order of calculations).
I’ve found you need to come up with creative hacks to get this type of thing to work reliably and in a manner that’s intutive (so you can change it without breaking everything in the future).
For example, if you want it to be A & (B or C) & D …then you could add 3 elements to the page. Show element 1 if A is true. Show element 2 if B or C is true. Show element 3 if D is true. Then, in the original condition do if Element 1 is visible and element 2 is visible and element 3 is visible.