When the newly introduced `"maxfeerate"` option is not passed, the default fee rate is interpreted as an absolute amount. However, when it is passed, it is interpreted as a fee rate. Thus, the rpc will return different results when the value is explicitly set to the default.

See

https://github.com/bitcoin/bitcoin/blob/536590f358dc3d3e5821eba7f1009452ea93b205/src/rpc/rawtransaction.cpp#L797-L807

I think we should change it back to an absolute value in BTC (not a feerate)

This was changed to a feerate by @kallewoof, so ping him to see if there was a specific reason to switch.
#include <merkleblock.h>
#include <node/coin.h>
#include <node/psbt.h>
#include <node/transaction.h>
#include <policy/policy.h>
#include <policy/rbf.h>
#include <primitives/transaction.h>
#include <psbt.h>
#include <rpc/rawtransaction_util.h>
#include <rpc/server.h>
#include <rpc/util.h>
#include <script/script.h>
#include <script/script_error.h>
#include <script/sign.h>
#include <script/signingprovider.h>
#include <script/standard.h>
#include <uint256.h>
#include <util/moneystr.h>
#include <util/strencodings.h>
#include <validation.h>
#include <validationinterface.h>
#include <numeric>
#include <stdint.h>
#include <univalue.h>
/** High fee rate for sendrawtransaction and testmempoolaccept.
 * By default, transaction with a fee rate higher than this will be rejected by
 * the RPCs. This can be overridden with the maxfeerate argument.
 */
static const CFeeRate DEFAULT_MAX_RAW_TX_FEE_RATE{COIN / 10};
static void TxToJSON(const CTransaction& tx, const uint256 hashBlock, UniValue& entry)