I have reason to believe that this strange behaviour resulted from a broken or otherwise incorrect index because luckily OPTIMIZE TABLE
did the trick.
Additionally, since we're dealing with system versioned tables, I needed to change the 'alter history' vairable:
SET @@system_versioning_alter_history = KEEP;
After that SELECT [....]
gave the same result as SELECT [...] FOR SYSTEM_TIME AS OF NOW()
while SELECT [...] FOR SYSTEM_TIME ALL
still contained the historical data.