Stepped out of my base at sunrise and noticed that I again had pillagers in the treetops but I could see them this time, not just hear them. This is in a savanna biome and there is no way they could climb up there so they must have spawned there. There is a captain and another one on the top foliage of an acacia tree down in a valley near my base and 4 or 5 others running around on the ground. This is getting too weird. Acacias also have horizontal branching at times so there may be solid blocks available, but it sure seems odd.
This is a known bug in 1.14 (and probably the 1.15 snapshots since there are no indications of a fix, other than a failed attempt in 1.14.3); Mojang apparently forgot to check for entity collision with solid blocks where they spawn ("solid" as in blocking movement, one of many criteria used to distinguish "solid" from "transparent" blocks, which have a long history of causing bugs like this due to the multiple ways a block can be defined as "transparent"):
If I read the code correctly, the patrol spawn sequence is this.
In the xz location it picks, it finds the highest movement blocking block in the column that isn't leaves (in this case that would be the log block), checks if it's a spawnable block, and checks the block light is 8 or below. It doesn't do a check to see if the foot/head blocks of the pillagers are obstructed, and just spawns them in if those other checks are satisfied. I believe this also means they can spawn in on carpet, which was what I was trying to figure out when looking into this