Looks like it's caused by a CSS psuedoclass called ::view-transition
(documentation) that is being used in the user agent stylesheet for Chromium browsers. The pseudoclass was only introduced last year and hasn't been implemented in Firefox at all, which would explain the inconsistent behaviour.
Specifically, I think it's these selectors, but browsers don't let you disable these so it's hard to verify:
html::view-transition-new(root) {
animation-name: -ua-view-transition-fade-in, -ua-mix-blend-mode-plus-lighter;
}
html::view-transition-old(root) {
animation-name: -ua-view-transition-fade-out, -ua-mix-blend-mode-plus-lighter;
}
I realise this probably means nothing to you. Basically, the fade is being added to the site as a default behaviour in basically all browsers except Firefox and Safari.