Maybe this should gets its own thread/patch but I'll tack this on here since it all seems related.
That paragraph you linked has a couple of typos:
"Although users can set this value anywhere from zero to two billions, VACUUM" ...
should be 'two billion' (i.e., drop the "s")
"...so that a periodical manual VACUUM has..."
'periodic' - though the description in the linked 24.1.5 is somewhat clearer (and longer) - the gap exists for the benefit of routine vacuum invocations to detect the need for an aggressive vacuum as part of a normal operating cycle rather than the last routine vacuum being non-aggressive and shortly thereafter an auto-vacuum anti-wraparound run is performed.
Current:
VACUUM will silently limit the effective value to 95% of autovacuum_freeze_max_age, so that a periodical manual VACUUM has a chance to run before an anti-wraparound autovacuum is launched for the table.
My interpretation:
VACUUM will silently limit the effective value to 95% of autovacuum_freeze_max_age so that a normal scan has a window within which to detect the need to convert itself to an aggressive scan and preempt the need for an untimely autovacuum initiated anti-wraparound scan.
As noted in the 24.1.5 that "normal scan" can be time scheduled or an update driven auto-vacuum one. It could be manual (though not really periodic) if one is monitoring the aging and is notified to run on manually when the age falls within the gap.