SPNEGO is incompatible with HTTP/2 and HTTP/3 and not supported.
This isn't unique to Chromium, this is a fundamental issue with how the Negotiate Authentication method violated the HTTP invariants, and the intentional choice to not support that in HTTP/2+, due to the security issues connection-based auth would introduce (e.g. confused deputy between requests). This is also why TLS renegotiation, typically used for connection-based post-handshake authentication, is not supported.
With respect to per-request re-authentication, this may be an artifact of how your dummy Python server is implemented. Chrome will keep HTTP/1.1 connections alive iff the response can be properly drained (e.g. Content-Length provided and correct) and the server (your Python server) does not terminate the connection. You can use chrome://net-export to inspect further the details and relationships between requests and sockets, which may help you match with your Python server the root cause.