Try creating another script wallet using Bitcoin 25.0 rpcs, make sure it's the only descriptor inside the wallet, and then copy the PSBT from the website and try to sign it again - first with the script wallet so it makes the required fields in the PSBT, then paste the output and sign it to the private key wallet.
Thanks for the suggestion. Although when i login to Mixin Safe today, i discovered i can make recovery attempt again (the status no longer locked) so i decide to use recovery instead. Currently i'm waiting for "Waiting for Safe Network to approve this recovery..." which i've no idea how long it'll take (edit: it took less than 5 minutes).