The reason for this is because a date of the form "20191107" is not actually a number, it is a character string. For example, consider which date would come after "20191130"; the next string should be "20191201", not "20191131". This is not the behavior of a number, but rather of a numerical representation of a Date object. Here's some more info on this topic: Using dates, times, datetimes and durations in JMP. (JMP's underlying encoding of dates and times in is seconds, hence the strange looking conversion you noted above).
JMP is usually good at detecting date strings and automatically converting them from Character to Numeric type (which can then be set to display as a date in the preferred Format). For example, it would be obvious to us (and to JMP) that a string of the form "2019-11-07" is a Character string and not a Number. However in this case, dates of the form yyyymmdd look just like numbers, so the extra step of converting to Character is needed, otherwise JMP will treat it as a regular number.
If you need to perform this conversion often, one option would be to create a Formula column with the following:
Format(Parse Date( Char( :Column 1 ), "yyyymmdd" ),"yyyy-mm-dd")