I'm on Bitcoin Core 0.19.0.1, linux I only tested in on testnet, not sure if it affects main as well.
When monitoring watch only addresses and a transaction appears, the walletnotify information is very limited. The [details] section is missing, receiving address isn't known, amount is 0. Example:
txninfo: Array
(
[amount] => 0
[confirmations] => 1
[blockhash] => 00000000000017ba50a356cdaad6f5567e5915c990e3323e794ab04cf2329166
[blockindex] => 2
[blocktime] => 1576856608
[txid] => 16c7fb601855ec13721cca37f3cc76cfc11343756028497b387ef07ed9e96ac3
[walletconflicts] => Array
(
)
[time] => 1576856604
[timereceived] => 1576856604
[bip125-replaceable] => no
[details] => Array
(
)
[hex] => 0200000001fbeec5d95e589f23d444c6b2866972f82799fa46090921d4009e6d9fd0c7a98e010000006a47304402206e8ba4494b25a6ee8bcf9679dc7561efe7449d9130d016a8c092db4db4708942022028ceb1d1879f11ea006af4079212a03397203ee55eb35acd089bf76f55d9fa1f0121037261975de0fbb69e462818b77c900447e7f3175b4de968a29d0eccc9530b83cdfdffffff02c0c62d00000000001600148effcc93dda4f7809aa56ce807ba4098d9ec6d9634043401000000001976a914c45be3fbe37460aa7a6ccd6d8e46916088f1d42988acf8e61800
)
This makes wallenotify useless for watch-only addresses.
Is there a workaround? My idea is to monitor and parse the output of "bitcoin-cli listtransactions "*" 100 0 true", since it provides all the details, even for watch-only addresses.