◆ Custom Element は各プロパティ代入時に setter 処理が行われる
◆ プロパティ間で相互に影響する場合は代入順の考慮が必要
◆ lit などのライブラリでは HTML 風に書くので 属性の順番を処理順に合わせないといけない
  ◆ HTML は属性順を気にする必要がないのでバグのもとになりそうなのが嫌

普通の HTML を書くときに属性の順番を気にする必要はないです
スクリプトで処理される場合でも全ての属性がセットされている状態での処理です
また React 系では props がまとめて渡されてそれに対して render 処理を行います

lit や hyperhtml でコンポーネントを扱う場合は WebComponents を使うことになります
props を渡す場合は

html`
<my-element .x=${values.x} .y=${values.y}></my-element>
`

のようになります

my-element ではそれぞれのプロパティが 1 つずつ順に代入されます
プロパティがセットされるときの setter 処理でそのプロパティや他のプロパティを更新する場合には順番が重要になります

lit ではパフォーマンスのため render 処理はまとめて行うようなってたはずですが あくまで render 処理であって setter の処理は代入時にそれぞれ行われます
また my-element は lit などで作られたコンポーネントとは限りません
WebComponents の API を直接使って作ったコンポーネントかもしれませんし 全く別のライブラリで作ったコンポーネントかもしれません

上ではプロパティのセットにしましたが属性でも 1 つずつ attributeChangedCallback が呼び出されるので同じです

例えば

例えば value と max を持つコンポーネントがあったとします
value をセットするとき max を超えていたら max を超えないように修正します
max をセットするときも value が新しい max を超える場合は修正します

value と max をあわせてセットしたいとき 先に max を変更する必要があります
先に value を変更すると古い max の都合で値が意図しない形に変更される可能性があります

customElements.define("my-element", class extends HTMLElement {
_max = 0
_value = 0

connectedCallback() {
this.render()
}

render() {
this.replaceChildren(JSON.stringify(this))
}

get max() {
this._max
}

set max(value) {
this._max = value
this.fix()
this.render()
}

get value() {
this._value
}

set value(value) {
this._value = value
this.fix()
this.render()
}

fix() {
if (this._value > this._max) {
this._value = this._max
}
}
})

const elem = document.createElement("my-element")
document.body.append(elem)

elem.value = 20
elem.max = 30

console.log({ ...elem })
// {_max: 30, _value: 0}

lit や hyperhtml からプロパティ代入するときにも順番は考えないといけません

html`
<my-element .value=${10} .max=${20}></my-element>
<my-element .max=${20} .value=${10}></my-element>
`
// {"_max":20,"_value":0}
// {"_max":20,"_value":10}

ただ 見た目が HTML なので順番を気にしないといけない感が薄くなります
HTML 感覚でつい見た目の都合や類似系をまとめたりするために並び替えをしたくなります

便利なライブラリではあるのですが HTML で属性の順番を気にしないといけなくなるという点はイマイチなところです

WebComponents を前提にしましたが ビルトイン HTML 要素でも別プロパティを元に値を修正されるのがあれば影響を受けます
パッと思いつくのはないですが何かありそうな気はします