It doesn't work because you're not comparing to a date. Instead you compare a date (a very large number - milliseconds since January 1, 1970 UTC) to a very small number (1/4/2024 = 0.00012).
Instead, you have to compare to actual dates:
// month is 0 based -> January = 0, April = 3
var financialYear = When(
dates >= Date(2023, 3, 1) && dates < Date(2024, 3, 1), "2023/2024",
// ...
"None")
This is very cumbersome. A better way:
var dates = $feature.TargetExchange
var y = Year(dates)
var m = Month(dates)
return IIf(
m >= 3, // if after April
`${y}/${y+1}`, // use "current/next"
`${y-1}/${y}`) // else use "previous/current"
Have a great day!
Johannes