Yes, a hit that deals 0 damage for any reason is still a hit.
This is because the attack roll dictates whether it is a hit or not, not the damage roll (see Player's Handbook p. 194 in the section on Attack Rolls):
When you make an attack, your attack roll determines whether the attack hits or misses.
The attack roll occurs prior to rolling damage and dictates whether you hit. That is, by the time you roll for damage, the attack roll will already have resulted in either a hit or a miss. If it resulted in a hit, it still counts as a hit even if the resulting damage ends up being 0 when it is calculated later due to damage resistance, damage immunity, damage threshold (see the Dungeon Master's Guide for this obscure property), or what have you.
Note that many features that are reactive to attacks use different wording. A feature that triggers "when you are hit/when you hit" and a feature that triggers "when you are damaged/when you deal damage" are not quite the same thing. The "hit" kind of feature would trigger on a hit even if the damage is 0, whereas the "damage" kind would trigger only if the damage was 1 or greater. Therefore, be careful of the wording when evaluating such a feature.