See the discussion in the corresponding secp256k1 PR (https://github.com/bitcoin-core/secp256k1/pull/1519#issuecomment-2142599641, https://github.com/bitcoin-core/secp256k1/pull/1519#issuecomment-2143167510, https://github.com/bitcoin-core/secp256k1/pull/1519#issuecomment-2144837459), where it was recommended to include this corner-case in the BIP by real-or-random:
Indeed, this should be in the BIP, ideally even in the pseudocode. If our code starts to reject “payments”, then better be authorized by the standard.
Note that this PR right now only includes the absolute minimum change; happy to include further changes if demanded (reflect this in the Python implementation, add test case), but not sure what are common rules for BIP amendments and if additional changes are worth it for a corner-case. For an additional test vector, one could take the example tx that has been published on signet: d73f4a19f3973e90af6df62e735bb7b31f3d5ab8e7e26e7950651b436d093313