The payload length counts bytes after the fixed IPv6 header.
Payload length counts bytes after the header
The payload length field says 4 bytes follow the fixed header.
payload length=4
The fixed header stays fixed
The fixed header itself is 40 bytes. The length field counts what comes after it.
fixed header bytes=40
The marker is four bytes
The payload marker bytes are 0x6869abcd, exactly the count named by the header.
payload=0x6869abcd
Summary
The header length is fixed here; the payload length names only the bytes after it.