user132448: Even though it is consensus valid to spend a UTXO of an amount that is lower than the extra fees it would cost to include it in a transaction, most nodes wouldn't relay them because of the minRelayTxFee. Does it make sense to keep those outputs in the UTXO set, increasing its size?

user129640: Bitcoin Core removes provably unspendable outputs from the UTXO set, since by definition we know they will never be used to verify new transactions.
One could, in theory, do the same for UTXOs that are highly unlikely to ever be spent, such as those that are highly uneconomical as per your question. However, this introduces a very real risk of splitting yourself off the chain. If just a single one of those UTXOs is spent in a confirmed transaction, your node would reject that block (and any subsequent blocks building on it) since one of its transactions is spending an input that according to your database does not exist.
While it is reasonable to assume that most uneconomical outputs will not be spent (in the current fee environment), it is extremely risky to assume that none of them will be spent. They can be spent accidentally, as part of L2 protocols, or by an attacker that wants to exploit this vulnerability. As such, removing any UTXO that is not provably unspendable would be unwise.

132448: <p>Even though it is consensus valid to spend a UTXO of an amount that is lower than the extra fees it would cost to include it in a transaction, most nodes wouldn't relay them because of the <a href="https://bitcoin.stackexchange.com/questions/48235/what-is-the-minrelaytxfee">minRelayTxFee</a>. Does it make sense to keep those outputs in the UTXO set, increasing its size?</p>
 129640: <p>Bitcoin Core <a href="https://bitcoin.stackexchange.com/a/98652/129640">removes</a> provably unspendable outputs from the UTXO set, since by definition we know they will never be used to verify new transactions.</p>
<p>One could, in theory, do the same for UTXOs that are highly unlikely to ever be spent, such as those that are highly <a href="https://bitcoinops.org/en/topics/uneconomical-outputs/" rel="nofollow noreferrer">uneconomical</a> as per your question. However, this introduces a very real risk of splitting yourself off the chain. If just a single one of those UTXOs is spent in a confirmed transaction, your node would reject that block (and any subsequent blocks building on it) since one of its transactions is spending an input that according to your database does not exist.</p>
<p>While it is reasonable to assume that <em>most</em> uneconomical outputs will not be spent (in the current fee environment), it is extremely risky to assume that <em>none</em> of them will be spent. They can be spent accidentally, as part of L2 protocols, or by an attacker that wants to exploit this vulnerability. As such, removing any UTXO that is not provably unspendable would be unwise.</p>
