My webapp uses both oninput and onchange listeners on <input> elements. The oninput handlers can change the value under some circumstances (e.g. capitalizing text or adding a decimal point automatically for fixed-width numbers). I've noticed a bug in Safari (15) where changing the node value causes the onchange handler not to be invoked sometimes when the input is accepted (e.g. user blur or Enter key). It's not consistent. Sometimes it works sometimes it doesn't, with no discernable pattern, but it only fails when the <input> value is modified by oninput.
This works completely reliably in Chrome (96).
My workaround is to add onblur and onkeyup listeners to invoke the onchange handler.