I think it may be time for methodical documentation. This generally leads to finding the issue.
Start at your core, go through every port and verify they have the vlans needed and are in the correct tagged/untagged binding, verify all LAG groups are configured as you expect them to be.
Go to the WLC, verify that it is plugged into the port(s) you expect it to be in, verify any LAG configuration, verify tagged/untagged expectations of vlans.
Go to the edge switches, verify that they are connected to the core in the ports you expect them to be in, lag configuration, verify AP ports are configured as you expect them to be and that the APs are receiving the IP you expect them to have.
If you have edp enabled (and I recommend it) you can use "show edp ports all detail" to verify what port and vlans the other side of a EN to EN link has.
We use Aruba for wlan here, but the idea should be similar.
All end-user vlans and the management vlan are tagged into the WLC. We use 2x10GBps LACP groups for our WLCs, so LACP must be configured on both sides of the link.
Our APs connect to the edge switches on untagged ports in the local VLAN for that building/floor and DHCP is used to tell the APs where to connect. It sounds like you're expecting to be using Layer2 discovery where all APs should be in the same VLAN as the management/primary interface of the WLCs.
The end-user traffic is then tunneled back to the WLC, which does its magic and spits the traffic out onto the end-user VLANs into the core for routing.