Identified that the problem was the drain pump. We removed the drain pump motor (unplugged it) and opened it. A rubber band had gotten stuck around the pump rubber washer on the inside and it wasn't rotating easily or properly, even manually. We ordered the replacement part and plugged it back in and dishwasher works great again and drains completely. Diagnosing the problem took a while but fixing it once the part arrived took just a few minutes.