But script execution only occurs when a new block is created/validated, and at that point in time the "current best block" is the block including the transaction. Are you making a distinction between input height vs output height?
And no, hard forks are not required for proof-of-x systems to be implemented in bitcoin. That's just required in the braindead way they've been handled in alts.