This is how it should be - it is mandatory for VPLS to work to have complete, "uninterrupted" LSP between VPLS endpoints, because only VPLS endpoints know how to interpret VPLS label (second label in label stack). LDP establishes LSP for each specific prefix, so LSP reaches to the last hop for this particular prefix. Once packet gets MPLS encapsulated and switched, it will travel to the end of LSP, no matter if some hop in the way had more specific route to the intended destination, and it will get switched no further than end of LSP.
The last router in LSP must decide what to do with packet - if it is IP packet it can most likely properly route it (using more specific route). But if it is VPLS packet, it receives this packet with VPLS label, that it actually never assigned (it even does not have any idea that there is VPLS tunnel somewhere), so it will either drop it or misinterpret the packet.
In case you want to avoid having all those /32 routes in routing table, you can use TE tunnels w/o CSPF - simply routed using routing table.