Well, moving up to Opening Day, the 4 teams in my test league have raided the free agent list to fill out their roster...the A-level teams now have 24/25/23/20 players, respectively, with the AA and AAA teams remaining at 25 as before (as they will do throughout this test). Moving on...
A-level six weeks into the season, before draft: 25/32/25/28
a few weeks after the 10-round draft: 25/27/27/25...looks like the teams did cut plenty of players to make room for the draftees
end of season: 26/25/26/24
Jan 1st: 15/4/15/17...no, 4 isn't a typo. Looks like minor-league FA struck hard in that organization
Start of pre-season: 15/1/15/14...that second team keeps bleeding away
Next Opening Day: 21/17/23/20
Before second amateur draft: 25/25/26/21
a few weeks after that draft: 27/28/25/27
So, in this limited test it seems there's really just one problem, that being the hard-coded 25 players limit for all intermediate minors independently of what the ML uses. The lowest level is a bit funky, but generally also seems to use 25 as a guideline. And I didn't notice any hoarding of players on the lowest level up to this point...I'm guessing the relatively limited draft size might be making the difference here, giving the AI enough "cut-able" players? I imagine with a 30-round draft, there would be enough talent in the organization that the AI won't want to release enough of them, leading to the 50+ players in the lowest minors that others have reported seeing.