Yes, you are spot on. Hence make the new contracts expire at 11:59pm 7th of October of that given year and then from 12:01am 8th October on-wards players can sign new contracts. The NRL final is usually never played any later than the first week of October. If not, to be safe make the contract expiry date 11:59pm 14th of October and new contracts can be signed on-wards of 12:01am 15th of October
If the contract have to expire at 11:59pm 31st of October and cant be changed, then new contract can be signed from 12:01am 1st of November on-wards only and be signed by 11:59pm 30th of November. 30 days is quite a bit of time.
Regarding a trade period, perhaps it can be from 12:01am 8th of October -to- 11:59pm 30th of June [the next year]. This means that a player can't be traded from 12:01am 1st of July -to- 11:59pm 7th/14th/31st October and they must stay on the team roster they are on currently, and will get paid for that full duration - even if they are unwanted by their current team. So if a player does get traded or sent to another team they will have 2 full months of regular season games before the finals series begins, if the team they went to makes the 'top 8' for that year
I dont think they can make a trade period cut-off be 11:59pm 28th of February (eg: just before the start of the new season), because of injuries and financial & budgeting reasons teams/clubs may need to make changes in the period of March to June, and also players will also complain legally about 'restriction of trade/employment' if a team wanted to bring in a new player a few weeks in to a new season and the NRL says "oh no, sorry you missed the cut-off of 11:59pm 28th of February". At least a 11:59pm 30th June trade-cut off means the new player plays at least 2 months of regular season footy for their new team. And also for example say a team adds a new player who was unwanted on their current team and then the new team goes on a winning streak and makes the finals and say wins the grand-final it will give the NRL some marketing opportunities as well