Nice example! Sorry for the late reply, I just wanted to add on some tips for using a REPL in a C# project.
After adding ClojureCLR via Nuget or manually, I usually put this in the constructor of a class and make an instance:
IFn require = Clojure.var("clojure.core", "require");
require.invoke(Clojure.read("clojure.core.server"));
IFn server = Clojure.var("clojure.core.server", "start-server");
server.invoke(Clojure.read("{:name godot-repl :port 5555 :accept clojure.core.server/repl}"));
Here I was using it for an object in the Godot game engine and it worked out pretty well.
After the game is running I just connect with inf-clojure using inf-clojure-connect on Emacs.
Anyway, good luck!