One way to look at it is to say if it's field reprogrammable for the core functions, it's not an ASIC
e.g. printing just the caravel harness with a blank user project area isn't really an ASIC, even though its entire reason to exist is the ASIC shaped hole