Is a conditional function definition allowed in POSIX compliant shell scripts?

I agree with your reading of the grammar. A function definition may occur in the body of an if statement, making its execution conditional.