MajorVersionLimit: 0 means unlimited, not nonegotchas / listsOne integer covering "no limit", "keep n" and "versioning is off"; the library your report calls tidiest is the one eating the quota
File versions come back oldest-first, so $top truncates the newest onesgotchas / rest-api/Versions is ascending, so $top drops the NEWEST ones; sorting the result descending afterwards hides it; $orderby=ID desc IS honoured together with $top (measured), and the list never contains the current version
Migrating list items with original authors, dates — and their version historygotchas / listsCopy and Move does not do lists, but REST does the job item by item — AddValidateUpdateItemUsingPath takes Author, Editor, Created and Modified at creation (one call, one version), version history can be replayed with…