Not sure where lies your problem/bug, but when dealing with interfaces I make sure to do following:
interface function must have some parameter for input and something for output, else weird things happen, so if i do not care about result i always add some dummy bool variable as result
remember to add interface to all blueprints i want
when i call interface i use cast to node, i know that now unreal does not need cast to (it hides them) but again, weird things happen when you edit blueprint class you are casting to (so you cast to different blueprint class that before). So imo it is better to see all cast to nodes right there in blueprint graph instead of looking trough tiny names in node headers.
Generally blueprints are great for small thing, bigger you go with bp they get more unstable. Recently about 20-30% of our dev time is fighting corrupted blueprints, redirectors that just redirect to redirectors then corrupt blueprints, circular references to static mesh because you used it in material preview, etc.
If you want to make any bigger game better start learning C++, bps get messy and unstable quite fast.
Something I learned recently. You don’t need an output pin. Rather than creating an interface function instead you can create an interface event. Rightclick your graph and start typing your interface and boom there it is.
OP, why are you using an interface here on self? Just call the function? We need to see more than what you’ve posted if that’s not the problem.