Figured out the other issue too (sort of): it has something to do with the fact that my data class implements a java interface which has a getter method for the Optional value. So I'm seeing the result of calling that method rather than accessing my property.