BUG: DecimalArray and JSONArray that are empty return incorrect results for isna()

- [x] closes #21189
- [x] tests added / passed
  - Modified tests/extension/base/missing.py to test when arrays are empty
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry
  - Did not put anything here because it's internal code

Probably for @TomAugspurger to review.
