DRP is needed at the basic level to read SYSMON registers including the temperature. You could let SYSMON run under the hood in default mode and read the temperature via JTAG-DRP as Vivado HW manager does. You can run tcl commands like get_hw_sysmon_reg to read temperature like so:
set opTemp [get_property TEMPERATURE [lindex [get_hw_sysmons] 0]
Other than that you'll need to use one of the interfaces you listed.
Don’t forget to reply, kudo, and accept as solution.