that probably has more to do with freelancing and consulting in general, rather than something inherit in programming
freelancing and consulting, is usually about problem solving, and even problem shooting (get rid of the problem as soon as possible, elegance not required)
you want to be a builder a tool maker, with freelancing, i dont see this happening, if you move to a consultant role maybe
for me consultant are a bit more into longer term relationship , so maybe this should be your next step