I finally figured out #4 (Get Java Time from DateTimeType) based on this:
Timeconversion: Astro Binding (DateTime) to Date() javascript object
For short: items["myItemName"].getZonedDateTime()
does the trick.
And here is the related javascript example from there:
var ZonedDateTime = Java.type("java.time.ZonedDateTime");
if(ZonedDateTime.now().isAfter(items["MyDateItem"].getZonedDateTime())) {
// do something
}