I don’t really have any definitive answers for you. However, I have taken the ferry from Meersburg to Konstanz frequently and have always paid for my ticket on the ferry. Therefore, no need to buy it at the ticket office.
While Lindau is quite an attractive town, my personal preference is to avoid going there as it is a little more inconvenient.