After the COVID excitement is over, the through train service called
Maitree Express from Kolkata (India) to Dhaka, 5 days a week should be restored. Unless you are planning to go to Barisal District you don't need to take a ferry anymore. Everything is connected by dual gauge railway tracks augmented by good bus service where there is no railway, across various enormous new bridges and more still being built.
Beware that the Bangladesh train leaves from Kolkata International, which is nowhere near the two big stations Sealdah and Howrah in Kolkata. It is in Chitpur and best reached by Uber from anywhere in Kolkata. Also it terminates at Dhaka Cantonment, and does not go to the downtown Kamalapur Station. C&I is at the two terminal stations, with only a brief stop at the border stations for crew change at Gede in India and crew and loco change at Darshana in Bangladesh. The train leaves early in the morning from both ends and arrives in mid afternoon at both ends. Accommodation is all Air-conditioned, either Chair Car or First Class compartments. Last I looked, tickets were not available on the internet, but that could have changed more recently. In Kolkata they are available either at the Eastern Railway City Ticket Office at Fairley Place, or at Kolkata International Station (Chitpur). Oddly in Dhaka they are available only at Kamalapur Station.
There is a second train from Kolkata International to Khulna in Southwest Bangladesh called
Bandhan Express which runs a few times a week too with accommodations similar to the Dhaka train. Actually one of the (Indian) consists is shared between the two services.
Allegedly a third service is going to be inaugurated in late March 2021 between Dhaka and New Jalpaiguri in North West Bengal in India (starting point of the famous Darjeeling Himalayan Railway) using the Chilahati-Haldibari border crossing which was restored for freight recently. Not much more is known about it yet.
Internally Bangladesh has extensive rail service using mostly new rolling stock imported from Indonesia, China and India. For more details see the
Bangladesh Railway entry in Wikipedia .
As of 3/10/21, international train service remains suspended due to COVID though train service within India has been substantially restored, though all trains are called "specials" and carry route number of the original trains that they substitute with the first digit of the route number being a "0" instead of the normal "1", e.g. the normally 12301/12302 Howrah - New Delhi Rajdhani is operated now as 02301/02302 Howrah - New Delhi AC Superfast Special, on the same schedule as 12301/12302. At some point they will revert back to pre-COVID name I suppose.
A few links that may be useful
Bangladesh Railway Map
Bangladesh Railway Schedule