As long as you have BlueprintGraph in your PublicDependencyModuleNames in your Module.Build.cs file you should be able to compile and link when extending from K2Node.
As you noted there isn’t currently a way to have multiple possible outputs on a latent function that is just generated via a UFUNCTION, so creating a custom node is likely what you will need to do.