I only care about the QoS inside the router
I'm thinking you may misunderstand QoS by the above sentence.
Think of:
Device → Router → VPN Client → QoS → Internet
And Not:
Device → Router → QoS → VPN Client → Internet
When you turn on a VPN client on the router, the router puts all your traffic into one “big envelope” (the VPN tunnel)
before it sends it to QoS and out the internet.
Not on the LAN side "inside the router" as you said above. By the time traffic reaches the QoS point, it’s already inside that one big VPN envelope. Which is what
@dave14305 is explaining.
So the router can’t reliably tell: “this traffic is Netflix, this part is gaming, this part is backups”. It mostly sees: "this is the VPN tunnel upload/download”
That’s why “Router VPN Outbound Traffic” behavior is expected with the router QoS implementation.
Yes, you’re right that device → router traffic arrives unencrypted.
But the part that doesn’t follow is: “therefore FlexQoS should classify it correctly even with router VPN.” As you mentioned here:
When the VPN is only enabled on my router, it should work and identify traffic in FlexQoS correctly because the traffic is NOT vpn encrypted on the end device
Simply put, it should not matter if the device VPN client established the VPN connection or the router VPN client does, because in both cases, traffic is encrypted
before it reaches QoS on the WAN side for priority shaping.
Classification would only help if QoS is applied
before the traffic gets stuffed into the big VPN envelope, and Adaptive QoS/FlexQoS does it differently, on the way out of the WAN side, which you say you don't care about:
not about what happens with the traffic beyond WAN.
With IPv6, that can change things because some IPv6 traffic might bypass the VPN (if rules are effectively IPv4-only).
That can make behavior look inconsistent, but it doesn’t change the main point which is the VPN turns everything into one tunnel at the point QoS is shaping.