Spring 24で以下のように仕様が変わるみたいです。
DML のロールバックとセーブポイントの解放後のコールアウトの実行
セーブポイントを使用してコミットされていないすべての DML をロールバックします。その後、新しい Database.releaseSavepoint メソッドを使用して、目的のコールアウトを実行する前にセーブポイントを明示的に解放します。以前は、セーブポイントの作成後にコールアウトを実行すると、コミットされていない DML があるかどうか、または変更がセーブポイントにロールバックされているかどうかに関係なく CalloutException が発生していました。この機能は、IdeaExchange のアイデアのおかげで実現しました。
解説記事
質問
I spent some time on that and finally made it work. My problem was related to API version 59+, specifically in the current class where you release the savepoint and the class where the callout is performed.