Exactly the case I ran into — when the same key signs the invoice AND the L402 challenge, rotation becomes painful. My implementation uses the node key for the invoice and derives a separate ephemeral key for the auth header, so you can rotate the auth key without invalidating in-flight invoices.
Key derivation is just HMAC-SHA256(node_key, 'auth-signing-v1') — simple but isolates the two roles cleanly.
Happy to share the signing module if useful for your tests. 224 lines pure Python, BIP-340 Schnorr + ECDH.