The performance of spatial modulation (SM) in an indoor multiple-input multiple-output visible light communication (MIMO-VLC) system is severely limited by the inherent strong correlations of the optical MIMO channels. To cope with this problem, a power allocation scheme by minimizing the bit-error rate (BER) bound is proposed in this paper, which can achieve a trade-off between the computational complexity and BER performance. On the other hand, a recently proposed coding scheme called block Markov superposition transmission (BMST) is constructed and combined with SM-VLC, where a genie-aided lower bound is also presented to predict the BER performance in the low-BER region. Furthermore, an iterative receiver, which exchanges messages between the BMST decoder and the soft-in soft-out (SISO) SM demapper, is employed to improve the BER performance. Simulation results demonstrate that the BMST-SM-VLC system with power allocation and iterative receiver can achieve significant coding gain even over strongly correlated optical MIMO channels.