The kind of hardware offloading included in consumer router hardware is fundamentally broken by design. Relying on the ethernet switch to handle NAT instead of the CPU makes it impossible to do software-based QoS (eg. the SQM module's cake or fq-codel) or any other packet processing that said ethernet switch isn't equipped for.