We were having a similar issue, but it seems the Cognito documentation now mentions the following:
Note
Amazon Cognito sends links with your link-based template in the verification messages when users sign up or resend a confirmation code. Emails from attribute-update and password-reset operations use the code template.
So it seems that regardless of the setting, Cognito will use confirmation codes in certain scenarios.