Joint communication and sensing (JCAS) has the potential to improve the overall energy, cost and frequency efficiency of IoT systems. As a first effort, we propose to optimize the MIMO-OFDM data symbols carried by sub-carriers for better time- and spatial-domain signal orthogonality. This not only boosts the availability of usable signals for JCAS, but also significantly facilitates Internet-of-Things (IoT) devices to perform high-quality sensing. We establish an optimization problem that modifies data symbols on sub-carriers to enhance the above-mentioned signal orthogonality. We also develop an efficient algorithm to solve the problem based on the majorization-minimization framework. Moreover, we discover unique signal structures and features from the newly modeled problem, which substantially reduce the complexity of majorizing the objective function. We also develop new projectors to enforce the feasibility of the obtained solution. Simulations show that, compared with the original communication waveform to achieve the same sensing performance, the optimized waveform can reduce the signal-to-noise ratio (SNR) requirement by 3~4.5 dB, while the SNR loss for the uncoded bit error rate is only 1~1.5 dB.