I see what you mean!
One thing is that print matches transactions, unlike most other reports which match individual postings. I don't think that explains this case though. I can reproduce it more clearly with register:
$ hledger reg expr:"( expenses:housing:rent AND 'not:desc:Rental Deposit' AND date:..2024-01-01 )"
2023-10-09 Rental Agreement .. ex:housing:rent 30 30
2023-11-26 ex:housing:rent 200 230
2023-12-26 ex:housing:rent 200 430
$ hledger reg expr:"( ^expenses: AND not:expenses:financial:tax AND date:2024-01-01..tomorrow )"
2024-01-09 Food expenses:day_to_day 25 25
2024-01-26 ex:housing:rent 200 225
OR-ing the two queries above, it sure seems like we should be seeing all five postings:
$ hledger reg expr:"( expenses:housing:rent AND 'not:desc:Rental Deposit' AND date:..2024-01-01 ) OR ( ^expenses: AND not:expenses:financial:tax AND date:2024-01-01..tomorrow )"
2024-01-09 Food expenses:day_to_day 25 25
2024-01-26 ex:housing:rent 200 225
We should open a bug report I think.