Check that dtype is preserved when appending categorical, nullable integer and other extension types 
Similar to #30238

This issue may already be fixed by  #30277. Opening this as requested in https://github.com/pandas-dev/pandas/pull/30277#pullrequestreview-335987704 .