Not exactly true. the NFL and NBA have restricted free agency as well. Under those models, Smith would be a restriced free agent as the Dogs have offered him a contract. He would only be able to get to Geelong if the Dogs didnt match Geelong's contract offer, or he could be traded to GeelongIf people want to talk about how things "should be" and point out flaws in the system, the actual fundamental flaw here is that Bailey Smith is an uncontracted player, but he still needs to be traded for. This is not the case in other professional sporting leagues. An unsigned player is a free agent and can walk to where he wants to go. That's really how it should be, but the AFL don't have the balls to do it.
Any unsigned player by trade period is a free agent and can freely walk (no lame comp system either). This forces clubs to either get players signed promptly, or to organise trades when they're still under contract as requested. All this jostling for a player who doesn't have a contract with their "current" club is really pretty illogical and ludicrous. Smith actually is not a Bulldogs player because he does not have a contract with them for next season.
I'm sure that in the future this is how the AFL will go as well. I'm sure the AFLPA will push hard for it given how frequently you get clubs holding players somewhere they don't want to be for another year on their contract, and still being hard-nosed pricks the following year when the player is no longer theirs.