The match_decoded function is surprising, it matches all push opcodes with OP_PUSHDATA4. Also its name is not very descriptive.
Replace it with more explicit functions: is_push_opcode, matches_p2pk_scriptsig, matches_p2pkh_scriptsig, matches_p2sh_multisig_scriptsig, matches_multisig_redeemscript
Document the Script.get_ops classmethod that produces the input for these functions.