Nel between la seconda data è esclusa, lo chiarisce bene il javadoc:
between(LocalDate startDateInclusive, LocalDate endDateExclusive)
Il primo caso [2012-12-01 , 2014-02-01) lo ritengo sensato e giusto: c'è tutto il 2013 in mezzo = 1 anno. C'è tutto il Gennaio 2014 (1 Febbraio escluso appunto) + tutto Dicembre 2012 = 2 mesi. E 0 altri giorni.