I have two ideas that I know Roll20 can handle:
A labeled grid which makes it easy for you to send whisper chat messages to players
If the grid is labeled in a manner similar to a chessboard you can easily point out areas, precise to the square, where players observe something different from what the map itself shows.
If there is an illusory swamp, you can put that on the map layer for everyone to see. Then, if a player with Truesight moves into a range that lets them perceive the illusion, you can directly whisper that information to them
/w TrudyTheTrueSeer As you move forward, your Truesight reveals that the swampy terrain in squares (36, 47) through (38, 49) is an illusion.
The labeled rows and columns fits the square-tile map design well, and makes it very quick and easy for you and your players to refer to the same specific areas at need. This also makes it easy for the players to sketch their own map or make notes to keep track of the information, since it is awkward to show multiple players different maps when they're in the same place.
A common map with individual legends
This is basically a battlemat approach ported directly into Roll20.
The basic idea is that you in distinguish map elements in some way that can only be decoded by using a legend, and then give each player a legend which reflects their perception. This will work better with less detailed map elements (like colored boxes, lines, or simple drawings) than with tokens, but could be applied to some tokens as well.
If we have an area which is normal terrain but has been subjected to Mirage Arcane to look like dense, thorny vines, the area might be represented simply by a green rectangle indicating the area's dimensions, or a copy-and-paste mass of a simple drawing of a thorny vine (or anything else, as long as it's distinct from other elements on the map). This is the common map that all players see.
But the map legends that explain the map are distributed to each player individually. The players with True Seeing will find the entry for the green lines (or that drawing in that color) to be illusory terrain, while the rest will find the entry describes the ostensible dense, thorny vines as they appear to mundane vision.
This approach takes a fair amount of planning because you have to be sure that the symbols and colors are distinctive enough to differentiate from others at a glance without being obviously notable. As an example, if there are real vines as well as illusory vines on the map, it conveys meta information to players if the real ones are green and the illusory ones purple-- it's clear that they're different in some way, unless each color is similarly plausible.
This approach can also give away information about the entire map at once. If a player identifies purple vines as illusions, then all purple vines on the map will are probably illusions. You can mitigate this with more colors randomly assigned (the green, red, and blue vines are real, but the purple, black, and yellow vines are illusions), but it will still probably alert players to the fact that there are varieties of terrain feature which matter.
In any case, this approach eases the burden on narration for you a bit. You can always describe things as what they look like, and players can refer to their own private knowledge to interpret them correctly.