The NXP NFC-based devices all support MifareClassic
tags, while the Broadcom-based ones don't have this support. You could check in your app whether that support is present, as explained in https://stackoverflow.com/a/15833191/1202968.
When you write "the only ISO15693 tags that are supported are the NXP ICODE tags", I think you mean that reading and writing NDEF messages on ISO15693 tags is only supported on NXP ICODE tags for such devices (because communication works fine using ISO 15693 commands on these NXP-based NFC devices). If/when (if ever) these devices get updated to also support NDEF message storage on other ISO15693 tags, the trick to check for MifareClassic
support will no longer work, obviously...