The router is on gi26 and it's trunking just fine on all those vlans to my other openwrt AP.
Forgive the timestamp mismatches, the AP can't get an address and can't sync its time. I'm copying the tcpdump output from the serial console.
interface GigabitEthernet23
description "office jack"
switchport mode trunk
!
interface GigabitEthernet26
description router-port1
switchport mode trunk
From the AP for it's own DHCP request on vlan10 and a wireless device on vlan20:
03:06:01.723259 de:16:80:97:10:fa > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 332: vlan 20, p 0, ethertype IPv4, 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from de:16:80:97:10:fa, length 286
03:06:02.360074 e0:cb:bc:32:65:91 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 346: vlan 10, p 0, ethertype IPv4, 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from e0:cb:bc:32:65:91, length 300
03:06:04.838602 00:90:0b:38:eb:5c > de:16:80:97:10:fa, ethertype IPv4 (0x0800), length 397: 192.168.192.1.67 > 192.168.192.193.68: BOOTP/DHCP, Reply, length 355
03:06:04.839471 00:90:0b:38:eb:5c > e0:cb:bc:32:65:91, ethertype IPv4 (0x0800), length 403: 192.168.192.1.67 > 192.168.192.95.68: BOOTP/DHCP, Reply, length 361
From the router.
03:06:29.911419 de:16:80:97:10:fa > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 328: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from de:16:80:97:10:fa, length 286
03:06:30.548322 e0:cb:bc:32:65:91 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from e0:cb:bc:32:65:91, length 300
03:06:33.026086 00:90:0b:38:eb:5c > de:16:80:97:10:fa, ethertype IPv4 (0x0800), length 397: 192.168.192.1.67 > 192.168.192.193.68: BOOTP/DHCP, Reply, length 355
03:06:33.026841 00:90:0b:38:eb:5c > e0:cb:bc:32:65:91, ethertype IPv4 (0x0800), length 403: 192.168.192.1.67 > 192.168.192.95.68: BOOTP/DHCP, Reply, length 361
It's like there's something there that's flattening everything down to vlan1? The lengths of the DHCP requests are 4 bytes longer in the AP than in the router, so the vlan header is definitely getting stripped.