I think if you only use them seperate there's a clearer distinction.
If you have it mixed you can do some, say hacking, where you see it
works but you can't see anywhere what you're exactly doing, most of it
is hidden in the guile implementation, which interprets
%default-port-conversion-strategy and gives you the coding. In one
case you maybe rely on %default-port-conversion-strategy normally
being UTF-8 and then someone sets it to something else, which could
give some hard to track errors. I think explicity just makes code much
clearer and I think seperating textual and binary ports leads to more
explicity, that's my point of view..